summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2010-07-01glsl2: Define preprocessor tokens for extensionsIan 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-01glsl2: Support AST-to-IR translation of invariant keywordIan Romanick
2010-07-01glsl2: Initialize ast_declarator_list::invariant in constructorIan Romanick
2010-07-01glsl2: Don't bounds check unsize array redeclarationsIan Romanick
This along with several previous commits fix test CorrectUnsizedArray.frag.
2010-07-01glsl2: Add gl_MaxTextureCoordsIan Romanick
2010-07-01glsl2: Default delcaration of gl_TexCoord is unsizedIan Romanick
2010-07-01glsl2: Change order of semaintic checks on variable declarationsIan Romanick
This will make it easier to support more (valid) kinds of redeclarations.
2010-07-01ir_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-01ir_to_mesa: Add support for ir_unop_rcp.Eric Anholt
This isn't used at the moment, but will be soon.
2010-07-01glsl2: Update README for what I've been thinking about with expr types work.Eric Anholt