summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2010-03-26Replace remaining use of is_error_type with glsl_type::is_errorIan Romanick
2010-03-26Replace remaining uses of is_numeric_base_type with glsl_type::is_numericIan Romanick
2010-03-26Replace is_integer_base_type macro with glsl_type::is_integer methodIan Romanick
2010-03-26Make glsl_*_type glsl_type class static dataIan Romanick
2010-03-26Use glsl_type::is_error instead of comparison with glsl_error_type pointerIan Romanick
2010-03-26Move swizzles out of ir_dereference and into their own class.Kenneth Graunke
Also turn generate_swizzle into a static "create" method of the new class; we'll want to use it for the IR reader as well. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-26Add new abstract ir_rvalue class; rework accordingly.Kenneth Graunke
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-26Replace "mode" type tag with virtual as_foo() downcasting functions.Kenneth Graunke
These should work well even in a non-flat IR hierarchy. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-25Merge branch 'anholt'Ian Romanick
2010-03-25IR print visitor: Finish printing constantsIan Romanick
2010-03-25IR print visitor: Remove most of the newlines from the printed outputIan Romanick
This makes it a lot easier to read... if you have a really wide display.
2010-03-25IR print visitor: print expressionsIan Romanick
Not quite complete. The operator is not yet printed.
2010-03-25IR print visitor: print ir_dereference instructionsIan Romanick
Also make a slight change to ir_variable. The ir_dereference tracks the number of nested dereferences. If an ir_variable is visited and the count is non-zero, just print the name of the variable.
2010-03-25IR print visitor: Less newlines when printing ir_variablesIan Romanick
2010-03-25Fix assignment operators: *=, /=, +=, -=.Eric Anholt
Basically, replace everything different from operator_assign other than the creation of the rhs value from the lvalue and rvalue with the contents of operator_assign. Fixes a segfault in CorrectSwizzle1.frag, and fixes parser10.frag.
2010-03-25Before generating HIR for user code, generate constructors for built-in typesIan Romanick
2010-03-25Add dereference constructor for array element dereferencesIan Romanick
This should have gone in before the previous commit.
2010-03-25Add functions to generate constructors for built-in types.Ian Romanick
Currently only vector and matrix types are supported. Structure types will be added later.
2010-03-25Fix up the operator printing for the logic or and beyond, check array bounds.Eric Anholt
2010-03-25Merge branch 'anholt'Ian Romanick
2010-03-25Set up fragment shader builtin variables.Eric Anholt
2010-03-25Make the standalone parser return an exit code so we can automate testing.Eric Anholt
2010-03-25More matrix compilation testsIan Romanick
2010-03-25Merge branch 'kwg'Ian Romanick
2010-03-25Fix matrix dimensioningIan Romanick
Newb GL mistake: matrices in GL are column-major. This means that vector_elements is the number of rows. Making these changes causes matrix-08.glsl to pass.
2010-03-25Use glsl_type::row_type and glsl_type::column type in arithmetic_result_typeIan Romanick
This substantially clarifies the code for matching matrix types. It also eliminates some uses of glsl_type member data.
2010-03-25Replace several glsl_type field comparisons with a single pointer comparisonIan Romanick
This simplifies the process of matching function parameter types. More simplifications are probably possible here, but arrays and structures need to be implemented first.
2010-03-25Add queries to get the glsl_type of a row or column of a matrixIan Romanick
2010-03-25Widen num_components to handle vec4 correctly.Kenneth Graunke