summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-06-15Infer shader type from suffix on filenameIan Romanick
2010-06-14Remove ability to read "IR shaders" from stand-alone compilerIan Romanick
2010-06-14Move stand-alone compiler main routine to main.cppIan Romanick
2010-06-11ir_constant: Eliminate 'void *' constructorIan Romanick
All of the places that had been using the (glsl_type *, void *) constructor were actually passing an ir_constant_data for the 'void *'. The code can be greatly simplified by replacing this constructor with a (glsl_type *, ir_constant_data *) constructor. This should also help prevent one class of invalid uses of the old constructor.
2010-06-11Use statically typed ir_constant constructors wherever possibleIan Romanick
2010-06-11ir_reader: Use 'union ir_constant_data' in read_constantIan Romanick
2010-06-11ir_constant_visitor: Type of constant result is same as original expressionIan Romanick
The type of the resulting constant must be the same as the type of the original expression. The changes to the code require that the case where an unhandled expression is received, and there really shouldn't be any of these, must be an exit point.
2010-06-11ir_constant_visitor: Types of ir_binop_{equal,nequal} must matchIan Romanick
The types must match exactly, so there is no reason to check the types here.
2010-06-11ir_constant_visitor: Use 'union ir_constant_data' in expression handlerIan Romanick
2010-06-11ir_constant_visitor: Use 'union ir_constant_data' instead of open-coded versionIan Romanick
2010-06-11Matrix and vector constructors with a single constant scalar are constantIan Romanick
2010-06-11ir_constant_visitor: Handle bool-to-int and int-to-boolIan Romanick
2010-06-11Treat ?: with all constant subexpressions as a constant expressionIan Romanick
2010-06-11Rearrange code in HIR conversion of ?: operatorIan Romanick
There are no functional changes. Code is just moved arround. This prepares for the next set of changes that do change the functionality.
2010-06-11ir_constant_visitor: Handle constant swizzlesIan Romanick
2010-06-11ir_constant_visitor: Handle array access of constant vectors and matricesIan Romanick
2010-06-11Remove redundant type checks for constant constructorsIan Romanick
All of the cases (e.g., arrays and structures) that were being filtered by these tests were already filtered by the earlier is_numeric and is_boolean tests.
2010-06-11Do simple constant folding while processing function call parametersIan Romanick
2010-06-11ir_constant_visitor: Handle dereferences of constant recordsIan Romanick
2010-06-11ir_constant: Add get_record_field queryIan Romanick
2010-06-11Add glsl_types::field_index to get the location of a record fieldIan Romanick
2010-06-11Detect and process constant record constructorsIan Romanick
2010-06-11Move parameter processing out of match_function_by_nameIan Romanick
Eventually code that processes constant structure constructors will need to use the processed list of parameters.
2010-06-11ir_constant_visitor: Use clone to create a constant from a variable referenceIan Romanick
2010-06-11ir_constant: Support constant structures in cloneIan Romanick
2010-06-11ir_constant: Add storage for multiple constants for arrays and recordsIan Romanick
2010-06-11Add glsl_type::is_record queryIan Romanick
2010-06-11Add float/bool conversion to ir_constant_expression.cpp.Ian Romanick
2010-06-11Constant-fold constructor parameters after type conversionIan Romanick
This causes the following tests to pass: glslparsertest/shaders/CorrectMatComma2.frag One of the incorrect errors in glslparsertest/shaders/CorrectComma.frag is also eliminated.
2010-06-11Make constructors with all constant parameters generate in-line constantsIan Romanick
2010-06-11Construct an ir_constant from a list of ir_constant valuesIan Romanick
2010-06-11Add queries to determine if a node is a list sentinalIan Romanick
2010-06-11Add methods to ir_constant to get scalar components in a particular typeIan Romanick
2010-06-11Derefence components of constants smarterIan Romanick
During generation of calls to constructors, derefernce constants by creating new constants instead of creating dereferences.
2010-06-11Construct an ir_constant from a scalar component of another ir_constantIan Romanick
2010-06-11Use ir_unop_b2i when converting a bool-to-int and add a missing breakIan Romanick
The previous code just had dumb cut-and-paste errors.
2010-06-09Remove linux_list in favor of exec_list.Kenneth Graunke
2010-06-09Add forgotten autogenerated EXT_texture_array_fs folder.Kenneth Graunke
2010-06-09Implement 1.30 int/uint variants of min/max/clamp.Kenneth Graunke
2010-06-09texture_builtins.py: The unsigned integer type is "uint", not "unsigned"Kenneth Graunke
This doesn't actually affect anything yet, but is good to fix anyway.
2010-06-09Implement 1.30 hyperbolic trig builtins (sinh, cosh, tanh).Kenneth Graunke
2010-06-09Implement 1.20 'transpose' builtin.Kenneth Graunke
2010-06-09Implement 1.20 'outerProduct' builtin.Kenneth Graunke
2010-06-09Implement matrixCompMult builtin - the last of the 110 builtins.Kenneth Graunke
2010-06-09ir_constant_visitor: Add support for dFdx and dFdy operations.Kenneth Graunke
If the argument is a constant expression...it's not changing per pixel, so the result is simply 0.
2010-06-09Implement dFdx, dFdy, and fwidth via new expression opcodes.Kenneth Graunke
2010-06-09Implement 'refract' builtin.Kenneth Graunke
2010-06-09Fix some typing issues in asin.Kenneth Graunke
CorrectFunction.vert now passes.
2010-06-09Add a completely bogus implementation of the noise[1234] builtins.Kenneth Graunke
idr suggested this. Eventually we will need a real one.
2010-06-09Implement 'acos' builtin.Kenneth Graunke
This is tacked on to the end of the 'asin' file because acos calls asin, whech means asin needs to be defined first. Alphabetical order fail.