summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-07-07glsl2: Fix ir_div_to_mul_rcp for integer division.Eric Anholt
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.
2010-07-07glsl2: Actually add the declaration of _post_incdec_temp.Eric Anholt
2010-07-07ir_constant_expression: Fix loop increments.Kenneth Graunke
2010-07-07glsl2: Initialize yylineno and yycolumn so line numbers are sane.Kenneth Graunke
2010-07-07glsl2: Put the initializer in the instruction stream after the declarationIan Romanick
2010-07-07exec_list: Add method to append one complete list to anotherIan Romanick
2010-07-07Revert "glsl2: Put the declaration in the instruction stream before its ↵Ian Romanick
initializer." This change causes segfaults in other tests. A fix for both sets of segfaults is coming. This reverts commit d4d630b72c7b7f38074addda0f1b819608247d93.
2010-07-07ir_to_mesa: Add support for gl_TextureMatrix access.Eric Anholt
Fixes glsl-vs-texturematrix-1, and glsl-vs-texturematrix-2 on swrast.
2010-07-07ir_to_mesa: Fill in some uninitialized fields that sometimes contained junk.Eric Anholt
2010-07-07glsl2: Add a pass to simplify if statements returning from both sides.Eric Anholt
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.)
2010-07-07glsl2: Clean up vec_index_to_cond_assign after the clone return type change.Eric Anholt
2010-07-07glsl2: Don't forget to walk the parameters to a function in the hv.Eric Anholt
Fixes segfaults from use after free after the steal of ir nodes and free of the compile context.
2010-07-07glsl2: Avoid null deref in scalar constant unop expressions.Eric Anholt
2010-07-06glsl2: Put the declaration in the instruction stream before its initializer.Eric Anholt
This fixes a regression in the generated code from when I did the ir_validate.cpp-driven rework of assignments.
2010-07-06glsl2: Add pass for supporting variable vector indexing in rvalues.Eric Anholt
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.
2010-07-06ir_to_mesa: Add support for conditional moves.Eric Anholt
Nothing generates conditional moves yet.
2010-07-06glsl2: Clone methods return the type of the thing being clonedIan Romanick
This is as opposed to returning the type of the base class of the hierarchy.
2010-07-06ir_constant_expression: Declare loop counting variables in the loops.Kenneth Graunke
Fixes "name lookup of 'c' changed" warning.
2010-07-06glsl2: Update TODO.Kenneth Graunke
2010-07-06ir_constant_expression: Add support for dot products.Kenneth Graunke
2010-07-06ir_constant_expression: Add support for matrix multiplication.Kenneth Graunke
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.
2010-07-06ir_constant_expression: Support scalar * vector and scalar * matrix.Kenneth Graunke
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.
2010-07-06ir_constant_expression: Support scalar / vector and scalar / matrix.Kenneth Graunke
Fixes piglit tests const-vec-scalar-04.frag and const-mat-scalar-04.frag.
2010-07-06ir_constant_expression: Support scalar - vector and scalar - matrix.Kenneth Graunke
Fixes piglit tests const-vec-scalar-02.frag and const-mat-scalar-02.frag.
2010-07-06ir_constant_expression: Support scalar + vector and scalar + matrix.Kenneth Graunke
Fixes piglit tests const-vec-scalar-01.frag, const-vec-scalar-05.frag, and const-mat-scalar-01.frag.
2010-07-06ir_constant_expression: Assert that both operands share a base type.Kenneth Graunke
2010-07-06ir_constant_expression: Initialize op[0] and op[1] to NULL.Kenneth Graunke
This makes it easy to check if there is a second argument.
2010-07-06ir_constant_expression: Initialize all components of constant data to 0.Kenneth Graunke
This is probably just a good idea, and will come in useful when implementing things like matrix multiplication.
2010-07-06Add hash table helper functions for using pointers as hash keysIan Romanick
2010-07-06Make hashtable.h be C++ friendlyIan Romanick
2010-07-06ir_to_mesa: Use the compiler-assigned locations for builtin attrs/varyings.Eric Anholt
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.
2010-07-02Refresh autogenerated file builtin_function.cpp.Kenneth Graunke
2010-07-02glcpp: Add #error support.Kenneth Graunke
2010-07-02glsl2: Fix for dead strings being stored in the symbol table.Kenneth Graunke
2010-07-02ir_to_mesa: Fix uninitalized value.Kenneth Graunke
2010-07-02glsl2/builtins: Use vector ops in the 130 version of "sign."Kenneth Graunke
2010-07-02glsl2/builtins: Use vector ops in "smoothstep."Kenneth Graunke
2010-07-02ir_to_mesa: Fix up implementation of ir_unop_exp.Eric Anholt
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.
2010-07-02i965: Add support for the DP2 opcode, which we use for dot(vec2, vec2).Eric Anholt
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.
2010-07-02ir_to_mesa: Add support for scalar * mat, vec * mat.Eric Anholt
This is not tested by piglit currently.
2010-07-02ir_to_mesa: Add support for shadow comparison to texture instructions.Eric Anholt
piglit lacks tests for this currently.
2010-07-02ir_to_mesa: Move projection handling out of ir_tex so txb and txl get it.Eric Anholt
Fixes: glsl-fs-texture2dproj-bias glsl-fs-texture2dproj-bias-2
2010-07-02glsl2: Print the linking info log in the stand-alone compilerIan Romanick
2010-07-02ir_to_mesa: Add support for projected non-shadow/bias/lod texturing.Eric Anholt
Fixes: glsl-fs-texture2dproj glsl-fs-texture2dproj-2
2010-07-02ir_to_mesa: Fix sparse swizzling of src regs when a writemask is present.Eric Anholt
Fixes glsl-fs-texture2d-masked.
2010-07-02ir_to_mesa: Don't forget to run the Mesa IR optimization passes.Eric Anholt
With how we generate assignments, the trivial copy propagation in it is really important, and some drivers will really want the register allocation, too.
2010-07-02glsl2: Add a pass to break ir_binop_div to _mul and _rcp.Eric Anholt
This results in constant folding of a constant divisor.
2010-07-01glsl2: Conditionally allow optional extensions to be enabledIan Romanick
The only optional extension currently supported by the compiler is GL_EXT_texture_array.
2010-07-01glsl2: Append _TOK to some parser tokensIan Romanick
This prevents conflicts with defines elsewhere in Mesa and allows including mtypes.h in the compiler.
2010-07-01glsl2: Conditionally define preprocessor tokens for optional extensionsIan Romanick
The only optional extension currently supported by the compiler is GL_EXT_texture_array.