Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-04-07 | Remove extraneous base-class constructor calls | Ian Romanick | |
2010-04-07 | Make function bodies rely on the parameter variable declarations. | Eric Anholt | |
Previously, generating inlined function bodies was going to be difficult, as there was no mapping between the body's declaration of variables where parameter values were supposed to live and the parameter variables that a caller would use in paramater setup. Presumably this also have been a problem for actual codegen. | |||
2010-04-07 | Make dot() take the right number of args. | Eric Anholt | |
2010-04-07 | Fix the returns of builtin functions to actually return. | Eric Anholt | |
2010-04-07 | Put function bodies under function signatures, instead of flat in the parent. | Eric Anholt | |
This will let us know the length of function bodies for the purpose of inlining (among other uses). | |||
2010-04-07 | Clarify the types of various exec_list in ir.h | Eric Anholt | |
2010-04-07 | Treat texture rectangles as an extension that is enabled be default | Ian Romanick | |
2010-04-07 | Add support for GL_ARB_draw_buffers extension | Ian Romanick | |
2010-04-07 | Clean up error reporting in _mesa_glsl_process_extension | Ian Romanick | |
2010-04-07 | Add tracking for extension based warnings | Ian Romanick | |
Using '#extension foo: warn' instructs the compiler to generate a warning when some feature of the extension 'foo' is used. This patch adds some infrastructure needed to support that for variables. Similar changes will be needed for types and built-in functions. | |||
2010-04-07 | Emit a warning when an unknown extension is used with #extension | Ian Romanick | |
2010-04-07 | Add _mesa_glsl_warning to emit warnings to the shader log | Ian Romanick | |
2010-04-07 | Begin processing #extension directive | Ian Romanick | |
Nowhere near complete. It just parses correctly at this point. | |||
2010-04-07 | Use _mesa_glsl_shader_target_name | Ian Romanick | |
2010-04-07 | Add utility function to get the name of a shader target | Ian Romanick | |
2010-04-07 | Call glsl_type::get_instance correctly: the number of rows must be at least 1 | Ian Romanick | |
This causes the following tests to pass: shaders/glsl-tex-mvp.vert | |||
2010-04-07 | Eat whitespace while in the PP state | Ian Romanick | |
2010-04-07 | Partially fix comment handling in preprocessor directives. | Ian Romanick | |
Multi-line /* */ comments are still broken. I think this will wait to be fixed until we have a real preprocessor. | |||
2010-04-07 | Add support for bool to ir_equal and ir_nequal constant handling | Ian Romanick | |
2010-04-07 | Add gl_ClipDistance in fragment shader | Ian Romanick | |
2010-04-07 | Generate correct IR for do-while loops | Ian Romanick | |
Previously the same code was generated for a while loop and a do-while loop. This pulls the code that generates the conditional break into a separate method. This method is called either at the beginning or the end depending on the loop type. Reported-by: Kenneth Graunke <kenneth@whitecape.org> | |||
2010-04-07 | Process ast_jump_statement into ir_loop_jump | Ian Romanick | |
Specifically, handle 'break' and 'continue' inside loops. This causes the following tests to pass: glslparsertest/shaders/break.frag glslparsertest/shaders/continue.frag | |||
2010-04-07 | Add dynamic cast for ir_loop | Ian Romanick | |
2010-04-07 | Begin tracking the nesting of loops and switch-statements | Ian Romanick | |
2010-04-07 | Use switch based on mode in ast_jump_statement::hir | Ian Romanick | |
2010-04-07 | Add some newlines when printing ir_loop instructions | Ian Romanick | |
2010-04-07 | Process ast_iteration_statement into ir_loop | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/dowhile.frag glslparsertest/shaders/while.frag glslparsertest/shaders/while1.frag glslparsertest/shaders/while2.frag | |||
2010-04-07 | Add ir_loop_jump to represent 'break' and 'continue' in loops | Ian Romanick | |
2010-04-07 | Add ir_loop to represent loops | Ian Romanick | |
This touches a lot of files because everything derived from ir_visitor has to be updated. This is the primary disadvantage of the visitor pattern. | |||
2010-04-06 | Add some linebreaks in the ir_print_visitor of if statement bodies. | Eric Anholt | |
2010-04-06 | Make constant folding descend into if statements. | Eric Anholt | |
2010-04-06 | Descend down the tree in more locations in constant folding. | Eric Anholt | |
2010-04-06 | Perform constant folding on array indices. | Eric Anholt | |
Replaces a constant var deref with a constant value in CorrectParse1.frag. | |||
2010-04-06 | Add float/int conversion to ir_constant_expression.cpp. | Eric Anholt | |
Gives CorrectParse2.frag one more constant folding. | |||
2010-04-06 | Handle constant expressions using derefs of const values. | Eric Anholt | |
Fixes CorrectParse1.frag and makes for a ton of folding in CorrectParse2.frag. | |||
2010-04-06 | Fold constant expressions in if conditionals. | Eric Anholt | |
Fixes up 3 more expressions in CorrectParse2.frag. | |||
2010-04-06 | Add support for =, != to ir_constant_expresion.cpp | Eric Anholt | |
This results in constant folding of one more expression in CorrectParse2.frag. | |||
2010-04-06 | Add ir_constant_expression.cpp support for <, >, <=, >=. | Eric Anholt | |
This results in folding one more constant expression in CorrectParse2.frag. | |||
2010-04-06 | Add a constant folding optimization pass. | Eric Anholt | |
2010-04-05 | Add definition of gl_ClipDistance[] | Eric Anholt | |
2010-04-05 | Set lower bound on size implied by whole-array assignment | Ian Romanick | |
When an unsized array is accessed with a constant extension index this sets a lower bound on the allowable sizes. When the unsized array gets a size set due to a whole-array assignment, this size must be at least as large as the implied lower bound. This causes the following tests to pass: glslparsertest/glsl2/array-16.vert | |||
2010-04-05 | Allow dereference of vectors and matrices with [] | Ian Romanick | |
This causes the following tests to pass: glslparsertest/glsl2/matrix-11.vert glslparsertest/glsl2/matrix-12.vert glslparsertest/shaders/CorrectParse2.vert glslparsertest/shaders/CorrectSwizzle2.frag | |||
2010-04-05 | Set correct type for ir_dereference of a matrix or a vector | Ian Romanick | |
2010-04-02 | Propagate sizes when assigning a whole array to an unsized array | Ian Romanick | |
2010-04-02 | Track whether whole-arrays are assignable | Ian Romanick | |
In GLSL 1.10 this was not allowed, but in GLSL 1.20 and later it is. This causes the following tests to pass: glslparsertest/glsl2/array-09.vert glslparsertest/glsl2/array-13.vert | |||
2010-04-02 | Whole structures are assignable | Ian Romanick | |
Whole arrays are assignable in GLSL 1.20 and later, but it's not clear how to handle that within the IR because the IR is supposed to be shading language version agnostic. | |||
2010-04-02 | Use glsl_type::element_type to get the type of array elements | Ian Romanick | |
2010-04-02 | Ensure that 'in' and 'inout' formal parameters are valid lvalues | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/function10.frag | |||
2010-04-02 | Additional void parameter checks | Ian Romanick | |
If there is a void parameter it must not have a name, and it must be the only parameter. | |||
2010-04-02 | Require that function formal parameters have names | Ian Romanick | |