Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ir_to_mesa: Add support for adding/subtracting matrices. | Eric Anholt | 2010-07-07 | 1 | -3/+39 |
| | | | | This isn't really tested, but didn't break normal vector add/sub. | ||||
* | ir_to_mesa: Don't assert that we can't assign matrices. It should work now. | Eric Anholt | 2010-07-07 | 1 | -1/+0 |
| | |||||
* | ir_to_mesa: Only allocate a vector per column of a matrix. | Eric Anholt | 2010-07-07 | 1 | -1/+1 |
| | |||||
* | ir_to_mesa: Add support for assignment of aggregates. | Eric Anholt | 2010-07-07 | 1 | -3/+12 |
| | |||||
* | ir_to_mesa: Add support for matrix * matrix. | Eric Anholt | 2010-07-07 | 1 | -16/+27 |
| | |||||
* | ir_reader: Don't emit ir_function multiple times. | Kenneth Graunke | 2010-07-07 | 1 | -8/+8 |
| | |||||
* | linker: Use bit-0 instead of VERT_BIT_GENERIC0 | Ian Romanick | 2010-07-07 | 1 | -1/+1 |
| | | | | | | Uses of the bits for allocation are offset by 16, and VERT_BIT_GENERIC0 already has the 16 offset. As a result, it was preventing the wrong thing from being allocated. | ||||
* | glsl: Fix the setup of refract()'s output for vec3/vec4 and k < 0.0. | Eric Anholt | 2010-07-07 | 2 | -4/+4 |
| | | | | caught by valgrind. | ||||
* | glsl2: Fix ir_div_to_mul_rcp for integer division. | Eric Anholt | 2010-07-07 | 1 | -9/+47 |
| | | | | | | rcp of an integer value did not produce the result you're looking for. Instead, do the a * rcp(b) as float and truncate after. This mostly fixes glsl-fs-loop-nested. | ||||
* | glsl2: Actually add the declaration of _post_incdec_temp. | Eric Anholt | 2010-07-07 | 1 | -0/+1 |
| | |||||
* | ir_constant_expression: Fix loop increments. | Kenneth Graunke | 2010-07-07 | 1 | -2/+2 |
| | |||||
* | glsl2: Initialize yylineno and yycolumn so line numbers are sane. | Kenneth Graunke | 2010-07-07 | 2 | -0/+3 |
| | |||||
* | glsl2: Put the initializer in the instruction stream after the declaration | Ian Romanick | 2010-07-07 | 1 | -2/+11 |
| | |||||
* | exec_list: Add method to append one complete list to another | Ian Romanick | 2010-07-07 | 1 | -0/+24 |
| | |||||
* | Revert "glsl2: Put the declaration in the instruction stream before its ↵ | Ian Romanick | 2010-07-07 | 1 | -2/+2 |
| | | | | | | | | | initializer." This change causes segfaults in other tests. A fix for both sets of segfaults is coming. This reverts commit d4d630b72c7b7f38074addda0f1b819608247d93. | ||||
* | ir_to_mesa: Add support for gl_TextureMatrix access. | Eric Anholt | 2010-07-07 | 1 | -19/+84 |
| | | | | Fixes glsl-vs-texturematrix-1, and glsl-vs-texturematrix-2 on swrast. | ||||
* | ir_to_mesa: Fill in some uninitialized fields that sometimes contained junk. | Eric Anholt | 2010-07-07 | 1 | -2/+4 |
| | |||||
* | glsl2: Add a pass to simplify if statements returning from both sides. | Eric Anholt | 2010-07-07 | 4 | -0/+126 |
| | | | | | | | | | | | | | | | This allows function inlining making the following tests work even without function calls implemented: glsl-fs-functions-2 glsl-fs-functions-3 glsl-vs-functions glsl-vs-functions-2 glsl-vs-functions-3 glsl-vs-vec4-indexing-5 (Note that those tests were designed to trigger actual function calls, and this defeats them. However, those testcases ended up catching the bug in the previous commit.) | ||||
* | glsl2: Clean up vec_index_to_cond_assign after the clone return type change. | Eric Anholt | 2010-07-07 | 1 | -2/+2 |
| | |||||
* | glsl2: Don't forget to walk the parameters to a function in the hv. | Eric Anholt | 2010-07-07 | 1 | -0/+4 |
| | | | | | Fixes segfaults from use after free after the steal of ir nodes and free of the compile context. | ||||
* | glsl2: Avoid null deref in scalar constant unop expressions. | Eric Anholt | 2010-07-07 | 1 | -1/+6 |
| | |||||
* | glsl2: Put the declaration in the instruction stream before its initializer. | Eric Anholt | 2010-07-06 | 1 | -2/+2 |
| | | | | | This fixes a regression in the generated code from when I did the ir_validate.cpp-driven rework of assignments. | ||||
* | glsl2: Add pass for supporting variable vector indexing in rvalues. | Eric Anholt | 2010-07-06 | 5 | -0/+206 |
| | | | | | | | The Mesa IR needs this to support vector indexing correctly, and hardware backends such as 915 would want this behavior as well. Fixes glsl-vs-vec4-indexing-2. | ||||
* | ir_to_mesa: Add support for conditional moves. | Eric Anholt | 2010-07-06 | 1 | -5/+27 |
| | | | | Nothing generates conditional moves yet. | ||||
* | glsl2: Clone methods return the type of the thing being cloned | Ian Romanick | 2010-07-06 | 5 | -41/+45 |
| | | | | This is as opposed to returning the type of the base class of the hierarchy. | ||||
* | ir_constant_expression: Declare loop counting variables in the loops. | Kenneth Graunke | 2010-07-06 | 1 | -24/+23 |
| | | | | Fixes "name lookup of 'c' changed" warning. | ||||
* | glsl2: Update TODO. | Kenneth Graunke | 2010-07-06 | 1 | -11/+3 |
| | |||||
* | ir_constant_expression: Add support for dot products. | Kenneth Graunke | 2010-07-06 | 1 | -0/+20 |
| | |||||
* | ir_constant_expression: Add support for matrix multiplication. | Kenneth Graunke | 2010-07-06 | 1 | -3/+25 |
| | | | | | | | Also handles matrix/vector and vector/matrix multiplication. Fixes piglit tests const-matrix-multiply-01.frag, const-matrix-multiply-02.frag, and const-vec-mat.frag. | ||||
* | ir_constant_expression: Support scalar * vector and scalar * matrix. | Kenneth Graunke | 2010-07-06 | 1 | -7/+10 |
| | | | | | | | The test here is slightly different since we need to keep matrix multiplication separate. Fixes piglit tests const-vec-scalar-03.frag and const-mat-scalar-03.frag. | ||||
* | ir_constant_expression: Support scalar / vector and scalar / matrix. | Kenneth Graunke | 2010-07-06 | 1 | -18/+18 |
| | | | | Fixes piglit tests const-vec-scalar-04.frag and const-mat-scalar-04.frag. | ||||
* | ir_constant_expression: Support scalar - vector and scalar - matrix. | Kenneth Graunke | 2010-07-06 | 1 | -18/+18 |
| | | | | Fixes piglit tests const-vec-scalar-02.frag and const-mat-scalar-02.frag. | ||||
* | ir_constant_expression: Support scalar + vector and scalar + matrix. | Kenneth Graunke | 2010-07-06 | 1 | -18/+28 |
| | | | | | Fixes piglit tests const-vec-scalar-01.frag, const-vec-scalar-05.frag, and const-mat-scalar-01.frag. | ||||
* | ir_constant_expression: Assert that both operands share a base type. | Kenneth Graunke | 2010-07-06 | 1 | -0/+3 |
| | |||||
* | ir_constant_expression: Initialize op[0] and op[1] to NULL. | Kenneth Graunke | 2010-07-06 | 1 | -1/+1 |
| | | | | This makes it easy to check if there is a second argument. | ||||
* | ir_constant_expression: Initialize all components of constant data to 0. | Kenneth Graunke | 2010-07-06 | 1 | -0/+2 |
| | | | | | This is probably just a good idea, and will come in useful when implementing things like matrix multiplication. | ||||
* | Add hash table helper functions for using pointers as hash keys | Ian Romanick | 2010-07-06 | 4 | -26/+41 |
| | |||||
* | Make hashtable.h be C++ friendly | Ian Romanick | 2010-07-06 | 1 | -0/+7 |
| | |||||
* | ir_to_mesa: Use the compiler-assigned locations for builtin attrs/varyings. | Eric Anholt | 2010-07-06 | 1 | -74/+9 |
| | | | | | | The previous table didn't distinguish gl_Color for the VS and FS, so we would use the FS's attribute index for the VS and read undefined. This partially fixes glsl-routing to match its behavior on master. | ||||
* | Refresh autogenerated file builtin_function.cpp. | Kenneth Graunke | 2010-07-02 | 1 | -101/+18 |
| | |||||
* | glcpp: Add #error support. | Kenneth Graunke | 2010-07-02 | 1 | -0/+8 |
| | |||||
* | glsl2: Fix for dead strings being stored in the symbol table. | Kenneth Graunke | 2010-07-02 | 1 | -2/+2 |
| | |||||
* | ir_to_mesa: Fix uninitalized value. | Kenneth Graunke | 2010-07-02 | 1 | -1/+1 |
| | |||||
* | glsl2/builtins: Use vector ops in the 130 version of "sign." | Kenneth Graunke | 2010-07-02 | 1 | -15/+3 |
| | |||||
* | glsl2/builtins: Use vector ops in "smoothstep." | Kenneth Graunke | 2010-07-02 | 1 | -86/+15 |
| | |||||
* | ir_to_mesa: Fix up implementation of ir_unop_exp. | Eric Anholt | 2010-07-02 | 1 | -1/+2 |
| | | | | | | | | OPCODE_EXP is not to ir_unop_exp what OPCODE_EX2 is to ir_unop_exp2. It's the weird VP approximation helper opcode. Just implement it with OPCODE_POW instead. Fixes glsl-fs-exp. | ||||
* | i965: Add support for the DP2 opcode, which we use for dot(vec2, vec2). | Eric Anholt | 2010-07-02 | 4 | -0/+38 |
| | | | | | | | The original glsl compiler would generate a.x * b.x + a.y * b.y, which we would do mul+mul+add for instead of this mul+mac. Fixes glsl-fs-dot-vec2. | ||||
* | ir_to_mesa: Add support for scalar * mat, vec * mat. | Eric Anholt | 2010-07-02 | 1 | -0/+36 |
| | | | | This is not tested by piglit currently. | ||||
* | ir_to_mesa: Add support for shadow comparison to texture instructions. | Eric Anholt | 2010-07-02 | 1 | -2/+15 |
| | | | | piglit lacks tests for this currently. | ||||
* | ir_to_mesa: Move projection handling out of ir_tex so txb and txl get it. | Eric Anholt | 2010-07-02 | 1 | -27/+53 |
| | | | | | | Fixes: glsl-fs-texture2dproj-bias glsl-fs-texture2dproj-bias-2 |