Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-07-07 | glsl2: Avoid null deref in scalar constant unop expressions. | Eric Anholt | |
2010-07-06 | glsl2: 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-06 | glsl2: 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-06 | ir_to_mesa: Add support for conditional moves. | Eric Anholt | |
Nothing generates conditional moves yet. | |||
2010-07-06 | glsl2: Clone methods return the type of the thing being cloned | Ian Romanick | |
This is as opposed to returning the type of the base class of the hierarchy. | |||
2010-07-06 | ir_constant_expression: Declare loop counting variables in the loops. | Kenneth Graunke | |
Fixes "name lookup of 'c' changed" warning. | |||
2010-07-06 | glsl2: Update TODO. | Kenneth Graunke | |
2010-07-06 | ir_constant_expression: Add support for dot products. | Kenneth Graunke | |
2010-07-06 | ir_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-06 | ir_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-06 | ir_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-06 | ir_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-06 | ir_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-06 | ir_constant_expression: Assert that both operands share a base type. | Kenneth Graunke | |
2010-07-06 | ir_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-06 | ir_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-06 | Add hash table helper functions for using pointers as hash keys | Ian Romanick | |
2010-07-06 | Make hashtable.h be C++ friendly | Ian Romanick | |
2010-07-06 | ir_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-02 | Refresh autogenerated file builtin_function.cpp. | Kenneth Graunke | |
2010-07-02 | glcpp: Add #error support. | Kenneth Graunke | |
2010-07-02 | glsl2: Fix for dead strings being stored in the symbol table. | Kenneth Graunke | |
2010-07-02 | ir_to_mesa: Fix uninitalized value. | Kenneth Graunke | |
2010-07-02 | glsl2/builtins: Use vector ops in the 130 version of "sign." | Kenneth Graunke | |
2010-07-02 | glsl2/builtins: Use vector ops in "smoothstep." | Kenneth Graunke | |
2010-07-02 | ir_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-02 | i965: 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-02 | ir_to_mesa: Add support for scalar * mat, vec * mat. | Eric Anholt | |
This is not tested by piglit currently. | |||
2010-07-02 | ir_to_mesa: Add support for shadow comparison to texture instructions. | Eric Anholt | |
piglit lacks tests for this currently. | |||
2010-07-02 | ir_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-02 | glsl2: Print the linking info log in the stand-alone compiler | Ian Romanick | |
2010-07-02 | ir_to_mesa: Add support for projected non-shadow/bias/lod texturing. | Eric Anholt | |
Fixes: glsl-fs-texture2dproj glsl-fs-texture2dproj-2 | |||
2010-07-02 | ir_to_mesa: Fix sparse swizzling of src regs when a writemask is present. | Eric Anholt | |
Fixes glsl-fs-texture2d-masked. | |||
2010-07-02 | ir_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-02 | glsl2: 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-01 | glsl2: Conditionally allow optional extensions to be enabled | Ian Romanick | |
The only optional extension currently supported by the compiler is GL_EXT_texture_array. | |||
2010-07-01 | glsl2: Append _TOK to some parser tokens | Ian Romanick | |
This prevents conflicts with defines elsewhere in Mesa and allows including mtypes.h in the compiler. | |||
2010-07-01 | glsl2: Conditionally define preprocessor tokens for optional extensions | Ian Romanick | |
The only optional extension currently supported by the compiler is GL_EXT_texture_array. | |||
2010-07-01 | glsl2: Define preprocessor tokens for extensions | Ian Romanick | |
Currently only GL_ARB_draw_buffers and GL_ARB_texture_rectangle are defined because those extensions are always enabled. This make tex_rect-03.frag pass. | |||
2010-07-01 | glsl2: Support AST-to-IR translation of invariant keyword | Ian Romanick | |
2010-07-01 | glsl2: Initialize ast_declarator_list::invariant in constructor | Ian Romanick | |
2010-07-01 | glsl2: Don't bounds check unsize array redeclarations | Ian Romanick | |
This along with several previous commits fix test CorrectUnsizedArray.frag. | |||
2010-07-01 | glsl2: Add gl_MaxTextureCoords | Ian Romanick | |
2010-07-01 | glsl2: Default delcaration of gl_TexCoord is unsized | Ian Romanick | |
2010-07-01 | glsl2: Change order of semaintic checks on variable declarations | Ian Romanick | |
This will make it easier to support more (valid) kinds of redeclarations. | |||
2010-07-01 | ir_to_mesa: Fill in remaining ops, remove default case for expression types. | Eric Anholt | |
We should now have support for all the expression types we need for GLSL 1.20. | |||
2010-07-01 | ir_to_mesa: Add support for ir_unop_rcp. | Eric Anholt | |
This isn't used at the moment, but will be soon. | |||
2010-07-01 | glsl2: Update README for what I've been thinking about with expr types work. | Eric Anholt | |
2010-07-01 | glsl2: Add a pass to convert mod(a, b) to b * fract(a/b). | Eric Anholt | |
This is used by the Mesa IR backend to implement mod, fixing glsl-fs-mod. | |||
2010-07-01 | glsl2: Remove dead member from dead code visitor. | Eric Anholt | |