- Jun 26, 2012
-
-
Jordan Justen authored
Set the step_rate value when drawing to implement ARB_instanced_arrays for gen >= 4. v2: * leave (total_size < 2048) check where it was to only make this check once rather than once for each array. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
-
- Jun 25, 2012
-
-
Brian Paul authored
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
Signed-off-by: Brian Paul <brianp@vmware.com>
-
target is needed for the frame based layout Signed-off-by: Brian Paul <brianp@vmware.com>
-
use dl instead of ul Signed-off-by: Brian Paul <brianp@vmware.com>
-
Brian Paul authored
-
Brian Paul authored
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
-
Marek Olšák authored
-
Marek Olšák authored
We are going to have a separate resource for depth texturing and transfers and this is just a transfer thing.
-
Marek Olšák authored
-
Paul Berry authored
This patch causes the fragment shader to be configured correctly (and the correct code to be generated) for centroid interpolation. This required two changes: brw_compute_barycentric_interp_modes() needs to determine when centroid barycentric coordinates need to be included in the pixel shader thread payload, and fs_visitor::emit_general_interpolation() needs to interpolate using the correct set of barycentric coordinates. Fixes piglit tests "EXT_framebuffer_multisample/interpolation {2,4} centroid-edges" on i965. Reviewed-by: Eric Anholt <eric@anholt.net>
-
Paul Berry authored
Reviewed-by: Eric Anholt <eric@anholt.net>
-
Paul Berry authored
To save time, we only instruct the clip stage of the pipeline to compute noperspective barycentric coordinates if those coordinates are needed by the fragment shader. Previously, we would determine whether the coordinates were needed by seeing whether the fragment shader used the BRW_WM_NONPERSPECTIVE_PIXEL_BARYCENTRIC interpolation mode. However, with MSAA, it's possible that the fragment shader might use BRW_WM_NONPERSPECTIVE_CENTROID_BARYCENTRIC instead. In the future, when we support ARB_sample_shading, it might use BRW_WM_NONPERSPECTIVE_SAMPLE_BARYCENTRIC. This patch modifies the upload_clip_state() functions to check for all three possible noperspective interpolation modes. Reviewed-by: Eric Anholt <eric@anholt.net>
-
Paul Berry authored
This bitfield tells the back-ends which of a fragment shader's inputs require centroid interpolation. It is only set for GLSL fragment shaders, since assembly fragment shaders don't support centroid interpolation. Reviewed-by: Eric Anholt <eric@anholt.net>
-
Brian Paul authored
-
Brian Paul authored
It was only no-oping the clear() function, not actual triangle rasterization. Move the no_rast field from lp_context down into lp_rasterizer so it's accessible where it's needed. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
-
- Jun 23, 2012
-
-
Vinson Lee authored
Fixes this build failure on Solaris. Compiling build/sunos-debug/glsl/glcpp/glcpp-lex.c ... "src/glsl/glcpp/glcpp-lex.l", line 30: cannot find include file: "glcpp-parse.h" Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
-
- Jun 22, 2012
-
-
Building fail when GL headers are not installed in the system, so add inclusion of these headers. Signed-off-by: Brian Paul <brianp@vmware.com>
-
Brian Paul authored
So that formats such as "%llx" are understood. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Brian Paul authored
-
Tom Stellard authored
$CLANG_RESOURCE_DIR is the directory that contains all resources needed by clang to compile programs. When clover uses clang to compile kernels it needs to specify a resource dir, so that clang can find its internal headers (e.g. stddef.h). clang defines $CLANG_RESOURCE_DIR as $CLANG_LIBDIR/clang/$CLANG_VERSION This patch adds the --with-clang-libdir option in order to accommodate clang intalls to non-standard locations, and it also adds a check to the configure script to verify that $CLANG_RESOURCE_DIR/include contains the necessary header files.
-
Paul Berry authored
On i965, dFdx() and dFdy() are computed by taking advantage of the fact that each consecutive set of 4 pixels dispatched to the fragment shader always constitutes a contiguous 2x2 block of pixels in a fixed arrangement known as a "sub-span". So we calculate dFdx() by taking the difference between the values computed for the left and right halves of the sub-span, and we calculate dFdy() by taking the difference between the values computed for the top and bottom halves of the sub-span. However, there's a subtlety when FBOs are in use: since FBOs use a coordinate system where the origin is at the upper left, and window system framebuffers use a coordinate system where the origin is at the lower left, the computation of dFdy() needs to be negated for FBOs. This patch modifies the fragment shader back-ends to negate the value of dFdy() when an FBO is in use. It also modifies the code that populates the program key (brw_wm_populate_key() and brw_fs_precompile()) so that they always record in the program key whether we are rendering to an FBO or to a window system framebuffer; this ensures that the fragment shader will get recompiled when switching between FBO and non-FBO use. This will result in unnecessary recompiles of fragment shaders that don't use dFdy(). To fix that, we will need to adapt the GLSL and NV_fragment_program front-ends to record whether or not a given shader uses dFdy(). I plan to implement this in a future patch series; I've left FIXME comments in the code as a reminder. Fixes Piglit test "fbo-deriv". NOTE: This is a candidate for stable release branches. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Brian Paul authored
-
Brian Paul authored
The old comments were for transform feedback.
-
Signed-off-by: Olivier Galibert <galibert@pobox.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
-
- Jun 21, 2012
-
-
Zack Rusin authored
dirvars package has been replaced by built-in functionality of dir-locals. preserve the settings in the new infrastructure
-
Tom Stellard authored
Drop the compute specific evergreen_set_buffer_sync() function and instead use the r600_surface_sync_command atom for emitting SURFACE_SYNC packets.
-
Tom Stellard authored
-
Tom Stellard authored
-
Tom Stellard authored
Thie BitExtract optimization folds a mask and shift operation together into a single instruction (BFE_UINT).
-
Tom Stellard authored
-
Tom Stellard authored
It's not optimal, but it's better than the register pressure scheduler that was previously being used. The VLIW scheduler currently ignores all the complicated instruction groups restrictions and just tries to fill the instruction groups with as many instructions as possible. Though, it does know enough not to put two trans only instructions in the same group. We are able to ignore the instruction group restrictions in the LLVM backend, because the finalizer in r600_asm.c will fix any illegal instruction groups the backend generates. Enabling the VLIW scheduler improved the run time for a sha1 compute shader by about 50%. I'm not sure what the impact will be for graphics shaders. I tested Lightsmark with the VLIW scheduler enabled and the framerate was about the same, but it might help apps that use really big shaders.
-
Brian Paul authored
-