summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-29Apply implicit conversions to arithmetic operatorsIan Romanick
2010-03-29Add glsl_type::is_array and glsl_type::is_float queriesIan Romanick
2010-03-29Allow single-component constructorsIan Romanick
This causes the following tests to pass: glslparsertest/shaders/CorrectVersion.V110.frag shaders/glsl-vs-sqrt-zero.frag shaders/glsl-vs-sqrt-zero.vert This causes the following tests to fail. These shaders were previously failing to compile, but they were all failing for the wrong reasons. glslparsertest/shaders/attribute1.vert glslparsertest/shaders/attribute2.vert glslparsertest/shaders/main2.vert
2010-03-29Add tests for :? operatorIan Romanick
2010-03-29Implement HIR conversion for ?: operatorIan Romanick
2010-03-29Add generate_temporary to generate an anonymous temporaryIan Romanick
2010-03-29Implement HIR conversion for ast_nequal and ast_equalIan Romanick
The following tests now pass: shaders/glsl-unused-varying.frag shaders/glsl-fs-sqrt-branch.frag
2010-03-29Add missing break-statements in ast_expression::hirIan Romanick
The ast_conditional case was flowing right into ast_pre_inc.
2010-03-29Implement ir_if (for if-statments) and conversion from ASTIan Romanick
The following tests now pass: glslparsertest/shaders/if1.frag glslparsertest/shaders/if2.frag The following tests that used to pass now fail. It appears that most of these fail because ast_nequal and ast_equal are not converted to HIR. shaders/glsl-unused-varying.frag shaders/glsl-fs-sqrt-branch.frag
2010-03-29Add several simple if-statement testsIan Romanick
2010-03-29Add a variable to the symbol table after processing the initializerIan Romanick
2010-03-29Trivial code cleanup in ir_dereference::is_lvalueIan Romanick
2010-03-29Add support for builtin radians() and degrees().Eric Anholt
2010-03-29Add definitions for 1.10 built-in uniforms for ff state.Eric Anholt
2010-03-29Don't let swizzles with duplicated components be considered as lvalues.Eric Anholt
Fixes swizzle2.frag.
2010-03-29Reject main() declarations with a non-void return value.Eric Anholt
Fixes main3.vert.
2010-03-29Reject variables marked with attribute in the fragment shader.Eric Anholt
Fixes attribute.frag.
2010-03-29Add the instruction for the parameter variable declarations of builtin funcs.Eric Anholt
Matches constructor setup, but I'm not really sure why we make the variable twice.
2010-03-29Implement dot() builtin.Eric Anholt
2010-03-29Implement exp2() and log2(), and make ir_unop_exp and ir_unop_log be base e.Eric Anholt
Making the base e functions IR operations is not a clear win. i965 doesn't support it, it doesn't look like r600 supports it, but r500 does. It should be easily supportable as a lowering pass, though.
2010-03-29Implement builtin length() function.Eric Anholt
2010-03-29Add sqrt() builtin as an IR operation.Eric Anholt
Following a discussion in #dri-devel, I think this makes more sense than implementing it as RSQ RCP CMP as Mesa did. The i965 has a hardware sqrt that should work, and AMD is suppposed to be able to implement it as RSQ RCP with an alternate floating point mode so that the 0.0 case is handled like we want.
2010-03-29Add builtin pow() function.Eric Anholt
2010-03-29Add support for builtin deprecated fs varyings.Eric Anholt
Fixes glsl-color.frag.
2010-03-29Implement some binary gentype builtin functions.Eric Anholt
2010-03-29Implement additional unary gentype builtins.Eric Anholt
2010-03-29Implement the first builtin function: exp().Eric Anholt
2010-03-28Generate more correctly diagnostics from some invalid initializersIan Romanick
2010-03-27Initial bits to process initializers in variable declarationsIan Romanick
As a result, the following tests pass: glslparsertest/array3.frag glslparsertest/CGStandardLibrary.frag glslparsertest/ConstantConversions.frag glslparsertest/constructor1.frag glslparsertest/constructor2.frag glslparsertest/constructor3.V110.frag glslparsertest/dataType4.frag glslparsertest/dataType5.frag glslparsertest/dataType13.frag glslparsertest/dataType19.frag glslparsertest/matrix.V110.frag glslparsertest/parser7.frag glslparsertest/swizzle3.frag The following tests also pass, but it is just by dumb luck. In these cases the shader fails to compile, but it fails for the wrong reason: glslparsertest/array6.frag glslparsertest/comma2.frag glslparsertest/conditional1.frag glslparsertest/conditional2.frag glslparsertest/conditional3.frag glslparsertest/constFunc.frag glslparsertest/ParseTest3.frag glslparsertest/ParseTest4.frag glslparsertest/varying3.frag glslparsertest/parser8.frag (also segfaults) glslparsertest/parser9.frag (also segfaults) The following tests now fail. As far as I can tell, these are all cases where the shader was failing to compile, but it was failing for the wrong reason. glslparsertest/CorrectMatComma.frag glslparsertest/CorrectModule.frag glslparsertest/CorrectSwizzle2.vert glslparsertest/shaders/glsl-fs-bug25902.frag
2010-03-26Reject uniform initializers in GLSL 1.10 modeIan Romanick
Now both glslparsertest/dataType3.frag and glslparsertest/dataType2.frag pass.
2010-03-26Set variables with the sampler base type to read only.Eric Anholt
Fixes increment3.frag.
2010-03-26Set the var_type for arrays to error_type until it's implemented.Eric Anholt
"Fixes" segfaults in array tests.
2010-03-26Add support for ast_to_hir of pre inc/dec.Eric Anholt
2010-03-26Add support for ast_to_hir of post inc/dec.Eric Anholt
2010-03-26Make read-only variables not be considered lvalues.Eric Anholt
This should fix tests trying to assign to builtin "in" variables, and will also be relied on for post_inc/dec handling.
2010-03-26Add constructors for immediate hir constants.Eric Anholt
This will make ast_to_hir for inc/dec easier.
2010-03-26Add support for %= in ast_to_hir.Eric Anholt
2010-03-26Factor out assignment setup in ast_to_hir.Eric Anholt
2010-03-26IR print visitor: Print out something for the operator.Eric Anholt
2010-03-26IR print visitor: Print expressions a little betterIan Romanick
2010-03-26Initial implementation of constructor handling codeIan Romanick
All of the scalar, vector, and matrix constructors *except* "from bool" constructors should be handled. Array and structure constructors are also not yet handled.
2010-03-26IR print visitor: print function callsIan Romanick
2010-03-26Add hack ir_call::callee_name to get the name of the called functionIan Romanick
2010-03-26Be sure to set ir_function_signature::definition for constructorsIan Romanick
2010-03-26Add ir_call::iterator to iterate over actual parametersIan Romanick
2010-03-26Add missing parenthesis in foreach_iterIan Romanick
This allows uses like 'foreach_iter(exec_list_iterator, iter, *list_ptr)'.
2010-03-26Add some simple constructor testsIan Romanick
2010-03-26Add unary operator to convert unsigned integer to floatIan Romanick
2010-03-26Slightly change the representation of numeric typesIan Romanick
For numeric types, vector_elements and matrix_columns must be at least 1. Previously matrix_columns was 0 for vectors, and both were 0 for scalars. This change simplifies things in some places.
2010-03-26Add glsl_type::components to query total number of components in a typeIan Romanick