Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ir_to_mesa: Implement ir_unop_logic_not using 1-x | Ian Romanick | 2011-08-16 | 1 | -1/+7 |
| | | | | | | | Since our logic values are 0.0 (false) and 1.0 (true), 1.0 - x accurately implements logical not. Reviewed-by: Eric Anholt <[email protected]> | ||||
* | mesa: Add Android to list of platforms that define fpclassify() | Chad Versace | 2011-08-16 | 1 | -1/+1 |
| | | | | | | This is a fix for the Android build. Signed-off-by: Chad Versace <[email protected]> | ||||
* | mesa: Fix Android build by #ifdef'ing out locale support | Chad Versace | 2011-08-16 | 1 | -1/+2 |
| | | | | | | | Bionic does not support locales. This commit #ifdef's out the locale usage in _mesa_strtof(). Signed-off-by: Chad Versace <[email protected]> | ||||
* | mesa: Remove use of fpu_control.h | Chad Versace | 2011-08-16 | 2 | -14/+0 |
| | | | | | | | | | | | Remove the inclusion of fpu_control.h from compiler.h. Since Bionic lacks fpu_control.h, this fixes the Android build. Also remove the sole use of the fpu_control bits, which was in debug.c. Those were brianp's debug bits, and he approved of their removal. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]> | ||||
* | i965/vs: Fix multiplies to actually do 32-bit multiplies. | Eric Anholt | 2011-08-16 | 2 | -1/+22 |
| | | | | Fixes vs-op-mult-int-int and friends. | ||||
* | i965/vs: Add support for conversion of FIXED_HW_REG src_reg to/from dst_reg. | Eric Anholt | 2011-08-16 | 1 | -0/+2 |
| | | | | This was quietly occurring in some emit code I produced, and failed. | ||||
* | i965/vs: Fix memory leak of ralloc context for the visitor. | Eric Anholt | 2011-08-16 | 1 | -0/+1 |
| | |||||
* | i965/vs: Fix condition code for scalar expression all_equals. | Eric Anholt | 2011-08-16 | 1 | -1/+1 |
| | | | | Fixes vs-op-eq-bool-bool. | ||||
* | i965/vs: Don't assertion fail on vertex texturing. | Eric Anholt | 2011-08-16 | 1 | -1/+6 |
| | | | | | | The linker will reject the program, but we need to survive until then. Fixes abort in glsl1-2D Texture lookup with explicit lod (Vertex shader) | ||||
* | i965/gen6: Force WHILE exec size to 8. | Eric Anholt | 2011-08-16 | 1 | -4/+2 |
| | | | | | | | | | | We can't just look at the instruction that happens to appear at the start of the loop, because it might be some other exec size and cause us to only loop on the first N channels. We always want 8 in our current code (since 16 doesn't work so we don't do 16-wide fragment in that case). Fixes loop-03.vert, which was triggering the assertions. | ||||
* | i965/vs: Remove remaining use of foreach_iter. | Eric Anholt | 2011-08-16 | 2 | -9/+5 |
| | |||||
* | i965/vs: Fix abs/negate handling on attributes. | Eric Anholt | 2011-08-16 | 1 | -2/+9 |
| | | | | Fixes glsl-vs-neg-attribute and glsl-vs-abs-attribute. | ||||
* | i965/vs: Avoid generating a MOV for most ir_assignment handling. | Eric Anholt | 2011-08-16 | 2 | -0/+73 |
| | | | | | Removes an average of 11.5% of instructions in 54% of vertex shaders in shader-db. | ||||
* | i965/vs: Run the shader backend at link time and return compile failures. | Eric Anholt | 2011-08-16 | 6 | -20/+54 |
| | | | | | | Link failure is something that shouldn't happen, but we sometimes want it during development. The precompile also allows analysis of shader codegen with shader-db. | ||||
* | i965: Fix assertion failure on a loop consisting of while (true) { break }. | Eric Anholt | 2011-08-16 | 1 | -1/+1 |
| | | | | | On enabling the precompile step in the VS, we tripped over this assertion failure in glsl-link-bug-30552. | ||||
* | i965/vs: Fix the trivial register allocator's failure path. | Eric Anholt | 2011-08-16 | 2 | -3/+5 |
| | |||||
* | i965/vs: Add support for if(any(bvec)) on gen6. | Eric Anholt | 2011-08-16 | 1 | -4/+8 |
| | |||||
* | i965/vs: Add support for GL_FIXED attributes. | Eric Anholt | 2011-08-16 | 1 | -0/+12 |
| | | | | Fixes arb_es2_compatibility-fixed-type | ||||
* | i965/vs: Clamp vertex color outputs when required by ARB_color_buffer_float. | Eric Anholt | 2011-08-16 | 1 | -1/+10 |
| | | | | Fixes glsl-vs-vertex-color. | ||||
* | i965/vs: Fix access of attribute arrays. | Eric Anholt | 2011-08-16 | 1 | -1/+2 |
| | | | | | By leaving out the column index, we were reading an unallocated attribute on glsl-mat-attribute. | ||||
* | i965/vs: Fix builtin uniform setup. | Eric Anholt | 2011-08-16 | 1 | -3/+2 |
| | | | | | I want to intelligently pack them at some point, but for now we have the params set up in groups of 4. Fixes glsl-vs-normalscale. | ||||
* | i965/vs: Add support for loops. | Eric Anholt | 2011-08-16 | 1 | -32/+21 |
| | | | | | This is copied from brw_fs.cpp, instead of doing the temporary IR generation that ir_to_mesa does. Fixes glsl-vs-loop and friends. | ||||
* | i965/vs: Add support for ir_binop_pow. | Eric Anholt | 2011-08-16 | 3 | -7/+70 |
| | | | | Fixes vs-pow-float-float. | ||||
* | i965/vs: Respect the gen6 limitation that math opcodes can't be align16. | Eric Anholt | 2011-08-16 | 2 | -2/+33 |
| | | | | Fixes vs-acos-vec3 and friends. | ||||
* | i965/vs: Fix implementation of ir_unop_any. | Eric Anholt | 2011-08-16 | 1 | -1/+3 |
| | | | | We were inheriting whatever previous predicate existed. | ||||
* | i965/vs: Slightly improve the trivial reg allocator to skip unused regs. | Eric Anholt | 2011-08-16 | 1 | -2/+24 |
| | | | | | | | This fixes most of the regressions in the vs array test set from the varying array indexing work, since the giant array that was originally allocated in virtual GRF space never gets used and is only ever read/stored from scratch space. | ||||
* | i965: Add gen6 disassembly for DP render cache messages. | Eric Anholt | 2011-08-16 | 1 | -3/+46 |
| | |||||
* | i965/vs: Enable variable array indexing in the VS. | Eric Anholt | 2011-08-16 | 1 | -5/+7 |
| | |||||
* | i965/vs: Add support for scratch read/write codegen. | Eric Anholt | 2011-08-16 | 2 | -2/+151 |
| | |||||
* | i965: Make some EU emit code for DP read/write messages non-static. | Eric Anholt | 2011-08-16 | 2 | -22/+49 |
| | | | | | | | | We keep building these strange interfaces for DP read/write where there's a helper function with some partially-specific, partially-general controls, which is used in exactly one place in code generation. Making these public will let us set up those instructions in the one place they're to be generated. | ||||
* | i965/vs: Move virtual GRFs with array accesses to them to scratch space. | Eric Anholt | 2011-08-16 | 4 | -1/+186 |
| | |||||
* | i965/vs: Reserve MRF 14/15 for array loads/register unspilling. | Eric Anholt | 2011-08-16 | 1 | -6/+14 |
| | |||||
* | i965/vs: Track the variable index of array accesses. | Eric Anholt | 2011-08-16 | 2 | -4/+16 |
| | | | | This isn't used currently, as we lower all array accesses. | ||||
* | i965: Add remaining scratch space setup emit to unit states. | Eric Anholt | 2011-08-16 | 4 | -3/+35 |
| | |||||
* | 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 |
| |