summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i965/vs: Fix types of varying outputs.Eric Anholt2011-08-161-0/+1
| | | | | | | | | For structs/arrays/matrices, they were ending up as uint because we forgot to set them. All varyings in GLSL 1.20 are of base type float, so just force the matter here (which gets inherited at emit_urb_writes() time). Fixes vs-varying-array-mat2-col-rd.
* i965/vs: Handle assignment of structures/arrays/matrices better.Eric Anholt2011-08-162-21/+51
| | | | | This gets the right types on the instructions, as well as emitting minimal swizzles/writemasks.
* i965/vs: Don't forget to set up assignment condition code for arrays/structs.Eric Anholt2011-08-161-0/+4
| | | | Fixes vs-uniform-array-mat2-index-col-rd.
* i965/vs: Apply the gen6 math workaround for math1 instructions.Eric Anholt2011-08-161-6/+4
| | | | Fixes glsl-vs-masked-cos.
* i965/vs: Add support for if(any_nequal()) and if(all_equal()) on gen6.Eric Anholt2011-08-162-4/+22
| | | | Fixes vs-temp-array-mat2-col-rd.shader_test.
* i965/vs: Add support for dot product opcodes.Eric Anholt2011-08-161-0/+12
| | | | Fixes glsl-vs-dot-vec2.
* i965/vs: Fix the types of array/struct dereferences.Eric Anholt2011-08-161-0/+2
| | | | Fixes glsl-vs-arrays-3.
* i965/vs: Drop the assertion about dst.reg_offset == 0.Eric Anholt2011-08-161-1/+0
| | | | | Adding the offset is the right thing to do here, and fixes glsl-vs-mat-add-1.
* i965/vs: Use an appropriate swizzle on src regs from variables.Eric Anholt2011-08-161-0/+4
| | | | Fixes glsl-vs-if-bool.
* i965/vs: Fix support for zero uniforms in use.Eric Anholt2011-08-161-1/+2
| | | | | We were looking for attributes in the wrong place, and pointlessly doing the work on gen6 at all.
* i965/vs: Fix support for "IF" instructions by copying brw_fs_visitor.cpp.Eric Anholt2011-08-161-4/+10
| | | | Fixes glsl-vs-if-greater.
* i965/vs: Disable loops for now until rendering is generally correct.Eric Anholt2011-08-161-0/+2
|
* i965/vs: Fix ir_swizzle handling.Eric Anholt2011-08-161-1/+1
| | | | | I decided to refactor it a bit in adapting ir_to_mesa.cpp code, and mangled it. Fixes glsl-vs-cross-2.
* i965/vs: Allocate storage for "auto" variables just like temps.Eric Anholt2011-08-161-0/+4
| | | | Fixes segfault in glsl-vs-cross-2.
* i965/vs: Allow scalar values in assignments, too.Eric Anholt2011-08-161-1/+2
| | | | Fixes glsl-vs-all-02 and many other tests.
* i965/vs: Don't emit an extra copy of the vertex position.Eric Anholt2011-08-161-6/+8
| | | | Fixes glsl-vs-abs-neg, glsl-vs-all-01, and probably many other tests.
* i965/vs: Port the fix for clip plane writemasks from brw_vs_emit.c.Eric Anholt2011-08-161-1/+1
|
* i965/vs: Fix constant vector construction.Eric Anholt2011-08-161-3/+3
| | | | Fixes some issues noticed in glsl-vs-all-01.
* i965/vs: Start adding support for uniformsEric Anholt2011-08-169-48/+256
| | | | There's no clever packing here, no pull constants, and no array support.
* i965: Start adding the VS visitor and codegen.Eric Anholt2011-08-1614-37/+2781
| | | | | | The low-level IR is a mashup of brw_fs.cpp and ir_to_mesa.cpp. It's currently controlled by the INTEL_NEW_VS=1 environment variable, and only tested for the trivial "gl_Position = gl_Vertex;" shader so far.
* i965: Rename math FS_OPCODE_* to SHADER_OPCODE_*.Eric Anholt2011-08-166-68/+68
| | | | I want to just use the same enums in the VS.
* i965: Create a shared enum for hardware and compiler-internal opcodes.Eric Anholt2011-08-167-126/+120
| | | | | This should make gdbing more pleasant, and it might be used in sharing part of the codegen between the VS and FS backends.
* i965: Generate driver-specific IR for non-fragment shaders as well.Eric Anholt2011-08-161-5/+12
| | | | | | This will be used by the new vertex shader backend. The scalarizing passes are skipped for non-fragment, since vertex and geometry threads are based on vec4s.
* mesa: ChooseTextureFormat() returns gl_format, not GLuintBrian Paul2011-08-161-1/+1
|
* glsl: Fix type error when lowering integer divisionsPaul Berry2011-08-161-0/+4
| | | | | | | | | | | | | | | | | | | This patch fixes a bug when lowering an integer division: x/y to a multiplication by a reciprocal: int(float(x)*reciprocal(float(y))) If x was a plain int and y was an ivecN, the lowering pass incorrectly assigned the type of the product to be float, when in fact it should be vecN. This caused mesa to abort with an IR validation error. Fixes piglit tests {fs,vs}-op-div-int-ivec{2,3,4}. Reviewed-by: Kenneth Graunke <[email protected]>
* softpipe: fix an obvious copy-paste error in get_query_resultMarek Olšák2011-08-161-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/dri: remove an unused-but-set variableMarek Olšák2011-08-161-1/+0
|
* r600g: rename bc -> bytecodeMarek Olšák2011-08-166-485/+485
| | | | It took me a while to figure out what it stands for.
* egl: Add include paths for platform autodetectionBenjamin Franzke2011-08-161-0/+2
| | | | | | Needed since commit 85fe9484. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40145
* dri2: check if context is valid before flushing the pipeCooper Yuan2011-08-161-1/+2
|
* r600g: expose ARB_ES2_compatibility by claiming fixed-point format supportMarek Olšák2011-08-164-32/+33
| | | | | | I also needed to make some changes in u_vbuf_mgr in order to override the caps from the driver and enable the fallback even though the driver claims the format is supported.
* noop: redirect the get_param/is_format.. queries to the underlying driverMarek Olšák2011-08-161-109/+12
|
* u_blitter: restore some states conditionallyMarek Olšák2011-08-161-12/+17
|
* u_blitter: rename util_blitter_copy_region -> util_blitter_copy_textureMarek Olšák2011-08-166-23/+26
|
* r600g: consolidate two files r600d.hMarek Olšák2011-08-162-2242/+55
|
* r600g: set read/write usage flags for each relocationMarek Olšák2011-08-168-529/+564
| | | | | | This takes advantage of the new GEM_WAIT ioctl when mapping buffers. Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: take advantage of the new ioctlMarek Olšák2011-08-161-12/+28
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: hook up the new DRM_RADEON_GEM_WAIT ioctlMarek Olšák2011-08-164-24/+65
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: remove broken bo-is-busy-for-write guessingMarek Olšák2011-08-163-31/+0
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: enable thread offloadingMarek Olšák2011-08-166-16/+17
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: undefine RADEON_CTX_MAX_PM4Marek Olšák2011-08-163-8/+6
| | | | | | winsys/radeon has its own definition. Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't include radeon_drm.h and xf86drm.hMarek Olšák2011-08-166-17/+6
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: remove the device file descriptor from the interfaceMarek Olšák2011-08-162-2/+0
| | | | | | r600g doesn't need it anymore. Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove an unused parameter from r600_bo_destroyMarek Olšák2011-08-1610-33/+25
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: merge radeon_bo with r600_boMarek Olšák2011-08-167-134/+33
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove radeon_bo::handleMarek Olšák2011-08-165-16/+3
| | | | | | This should be private to radeon_winsys. Reviewed-by: Alex Deucher <[email protected]>
* r600g: use buffer_map/unmap from radeon_winsysMarek Olšák2011-08-1610-146/+23
| | | | | | This also drops the unneeded bo_busy/wait functions. Reviewed-by: Alex Deucher <[email protected]>
* r600g: set the flush callback in radeon_winsysMarek Olšák2011-08-167-22/+38
| | | | | | I have also renamed the winsys function. Reviewed-by: Alex Deucher <[email protected]>
* r600g: get tiling flags using radeon_winsysMarek Olšák2011-08-163-44/+9
| | | | | | Also remove some unused fence-related leftovers. Reviewed-by: Alex Deucher <[email protected]>
* r600g: get winsys_handle using radeon_winsysMarek Olšák2011-08-163-33/+1
| | | | Reviewed-by: Alex Deucher <[email protected]>