Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | i965: Set up allocation of a VS scratch space if required. | Eric Anholt | 2011-08-16 | 5 | -22/+47 | |
| | ||||||
* | i965: Remove dead brw->wm.max_threads field. | Eric Anholt | 2011-08-16 | 1 | -1/+0 | |
| | ||||||
* | i965/vs: Add support for VUEs larger than a single URB write. | Eric Anholt | 2011-08-16 | 1 | -8/+34 | |
| | | | | Fixes glsl-max-varyings. | |||||
* | i965/vs: Avoid generating extra moves when setting up large ir_constants. | Eric Anholt | 2011-08-16 | 2 | -51/+28 | |
| | | | | | We were also screwing up the types in the process, and just not emitting moves was easier. | |||||
* | i965/vs: Fix types of varying outputs. | Eric Anholt | 2011-08-16 | 1 | -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 Anholt | 2011-08-16 | 2 | -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 Anholt | 2011-08-16 | 1 | -0/+4 | |
| | | | | Fixes vs-uniform-array-mat2-index-col-rd. | |||||
* | i965/vs: Apply the gen6 math workaround for math1 instructions. | Eric Anholt | 2011-08-16 | 1 | -6/+4 | |
| | | | | Fixes glsl-vs-masked-cos. | |||||
* | i965/vs: Add support for if(any_nequal()) and if(all_equal()) on gen6. | Eric Anholt | 2011-08-16 | 2 | -4/+22 | |
| | | | | Fixes vs-temp-array-mat2-col-rd.shader_test. | |||||
* | i965/vs: Add support for dot product opcodes. | Eric Anholt | 2011-08-16 | 1 | -0/+12 | |
| | | | | Fixes glsl-vs-dot-vec2. | |||||
* | i965/vs: Fix the types of array/struct dereferences. | Eric Anholt | 2011-08-16 | 1 | -0/+2 | |
| | | | | Fixes glsl-vs-arrays-3. | |||||
* | i965/vs: Drop the assertion about dst.reg_offset == 0. | Eric Anholt | 2011-08-16 | 1 | -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 Anholt | 2011-08-16 | 1 | -0/+4 | |
| | | | | Fixes glsl-vs-if-bool. | |||||
* | i965/vs: Fix support for zero uniforms in use. | Eric Anholt | 2011-08-16 | 1 | -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 Anholt | 2011-08-16 | 1 | -4/+10 | |
| | | | | Fixes glsl-vs-if-greater. | |||||
* | i965/vs: Disable loops for now until rendering is generally correct. | Eric Anholt | 2011-08-16 | 1 | -0/+2 | |
| | ||||||
* | i965/vs: Fix ir_swizzle handling. | Eric Anholt | 2011-08-16 | 1 | -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 Anholt | 2011-08-16 | 1 | -0/+4 | |
| | | | | Fixes segfault in glsl-vs-cross-2. | |||||
* | i965/vs: Allow scalar values in assignments, too. | Eric Anholt | 2011-08-16 | 1 | -1/+2 | |
| | | | | Fixes glsl-vs-all-02 and many other tests. | |||||
* | i965/vs: Don't emit an extra copy of the vertex position. | Eric Anholt | 2011-08-16 | 1 | -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 Anholt | 2011-08-16 | 1 | -1/+1 | |
| | ||||||
* | i965/vs: Fix constant vector construction. | Eric Anholt | 2011-08-16 | 1 | -3/+3 | |
| | | | | Fixes some issues noticed in glsl-vs-all-01. | |||||
* | i965/vs: Start adding support for uniforms | Eric Anholt | 2011-08-16 | 9 | -48/+256 | |
| | | | | There's no clever packing here, no pull constants, and no array support. | |||||
* | i965: Start adding the VS visitor and codegen. | Eric Anholt | 2011-08-16 | 14 | -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 Anholt | 2011-08-16 | 6 | -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 Anholt | 2011-08-16 | 7 | -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 Anholt | 2011-08-16 | 1 | -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 GLuint | Brian Paul | 2011-08-16 | 1 | -1/+1 | |
| | ||||||
* | glsl: Fix type error when lowering integer divisions | Paul Berry | 2011-08-16 | 1 | -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_result | Marek Olšák | 2011-08-16 | 1 | -1/+1 | |
| | | | | Reviewed-by: Brian Paul <[email protected]> | |||||
* | st/dri: remove an unused-but-set variable | Marek Olšák | 2011-08-16 | 1 | -1/+0 | |
| | ||||||
* | r600g: rename bc -> bytecode | Marek Olšák | 2011-08-16 | 6 | -485/+485 | |
| | | | | It took me a while to figure out what it stands for. | |||||
* | egl: Add include paths for platform autodetection | Benjamin Franzke | 2011-08-16 | 1 | -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 pipe | Cooper Yuan | 2011-08-16 | 1 | -1/+2 | |
| | ||||||
* | r600g: expose ARB_ES2_compatibility by claiming fixed-point format support | Marek Olšák | 2011-08-16 | 4 | -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 driver | Marek Olšák | 2011-08-16 | 1 | -109/+12 | |
| | ||||||
* | u_blitter: restore some states conditionally | Marek Olšák | 2011-08-16 | 1 | -12/+17 | |
| | ||||||
* | u_blitter: rename util_blitter_copy_region -> util_blitter_copy_texture | Marek Olšák | 2011-08-16 | 6 | -23/+26 | |
| | ||||||
* | r600g: consolidate two files r600d.h | Marek Olšák | 2011-08-16 | 2 | -2242/+55 | |
| | ||||||
* | r600g: set read/write usage flags for each relocation | Marek Olšák | 2011-08-16 | 8 | -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 ioctl | Marek Olšák | 2011-08-16 | 1 | -12/+28 | |
| | | | | Reviewed-by: Alex Deucher <[email protected]> | |||||
* | winsys/radeon: hook up the new DRM_RADEON_GEM_WAIT ioctl | Marek Olšák | 2011-08-16 | 4 | -24/+65 | |
| | | | | Reviewed-by: Alex Deucher <[email protected]> | |||||
* | winsys/radeon: remove broken bo-is-busy-for-write guessing | Marek Olšák | 2011-08-16 | 3 | -31/+0 | |
| | | | | Reviewed-by: Alex Deucher <[email protected]> | |||||
* | r600g: enable thread offloading | Marek Olšák | 2011-08-16 | 6 | -16/+17 | |
| | | | | Reviewed-by: Alex Deucher <[email protected]> | |||||
* | r600g: undefine RADEON_CTX_MAX_PM4 | Marek Olšák | 2011-08-16 | 3 | -8/+6 | |
| | | | | | | winsys/radeon has its own definition. Reviewed-by: Alex Deucher <[email protected]> | |||||
* | r600g: don't include radeon_drm.h and xf86drm.h | Marek Olšák | 2011-08-16 | 6 | -17/+6 | |
| | | | | Reviewed-by: Alex Deucher <[email protected]> | |||||
* | winsys/radeon: remove the device file descriptor from the interface | Marek Olšák | 2011-08-16 | 2 | -2/+0 | |
| | | | | | | r600g doesn't need it anymore. Reviewed-by: Alex Deucher <[email protected]> | |||||
* | r600g: remove an unused parameter from r600_bo_destroy | Marek Olšák | 2011-08-16 | 10 | -33/+25 | |
| | | | | Reviewed-by: Alex Deucher <[email protected]> | |||||
* | r600g: merge radeon_bo with r600_bo | Marek Olšák | 2011-08-16 | 7 | -134/+33 | |
| | | | | Reviewed-by: Alex Deucher <[email protected]> | |||||
* | r600g: remove radeon_bo::handle | Marek Olšák | 2011-08-16 | 5 | -16/+3 | |
| | | | | | | This should be private to radeon_winsys. Reviewed-by: Alex Deucher <[email protected]> |