Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-06-23 | Fix double usage of the post-inc/dec's temporary pre-inc/dec copy.linker | Eric Anholt | 1 | -5/+4 | |
Fixes CorrectSwizzle3.frag. | |||||
2010-06-23 | Avoid using the RHS of an assignment twice. | Eric Anholt | 1 | -3/+19 | |
This would fix double-evaluation of assignment RHS expressions, including possible side effects. | |||||
2010-06-23 | get_lvalue_copy doesn't need all the checking of do_assignment(). | Eric Anholt | 1 | -6/+3 | |
2010-06-23 | ast_to_hir: Clone LHS derefs of assignment expressions. | Eric Anholt | 1 | -5/+10 | |
2010-06-23 | ir_function_inlining: Allow inlining of loops and conditionals. | Eric Anholt | 1 | -25/+1 | |
The new cloning code handles them. | |||||
2010-06-23 | Add a virtual clone() method to ir_instruction. | Eric Anholt | 10 | -328/+305 | |
This will be used by function inlining, the linker, and avoiding double usage of the LHS deref chains in ++, *=, and similar operations. | |||||
2010-06-23 | Avoid using the same ir_constant 0.0 multiple times in mat constructors. | Eric Anholt | 1 | -2/+1 | |
2010-06-23 | glcpp: Support line continuations within preprocessor directives. | Kenneth Graunke | 1 | -0/+79 | |
Fixes CorrectPreprocess5.frag. | |||||
2010-06-23 | glcpp: Make standalone binary use preprocess(). | Kenneth Graunke | 2 | -9/+56 | |
This prevents the two code paths from getting out of sync. Also, future work will need the shader source as a string anyway. Unfortunately, this copies and pastes load_text_file from main.cpp, with small changes (support for reading from stdin, talloc). | |||||
2010-06-23 | glcpp: Fix "dangerous trailing context" warning. | Kenneth Graunke | 1 | -1/+1 | |
Flex couldn't be sure whether "def" and "ndef" were part of the #ifdef and #ifndef patterns or the trailing context of the #if pattern. | |||||
2010-06-23 | Remove comment support from the main lexer. | Kenneth Graunke | 1 | -10/+1 | |
Now handled by the preprocessor. | |||||
2010-06-23 | glcpp: Recognize plain "//" as a comment. | Kenneth Graunke | 1 | -1/+1 | |
Found in glsl-orangebook-ch06-bump.(frag|vert). This was resulting in the comments getting passed through to the main compiler's lexer. | |||||
2010-06-23 | Generate errors for empty constructors instead of asserting | Ian Romanick | 1 | -1/+8 | |
This causes the following tests to pass: glslparsertest/glsl2/constructor-10.vert | |||||
2010-06-23 | linker: Update some comments, remove a couple FINISHMEs | Ian Romanick | 1 | -3/+4 | |
2010-06-23 | linker: Use InfoLog in assign_attribute_locations | Ian Romanick | 1 | -16/+15 | |
Since the program is now passed in, refactor the parameter list to the function as well. | |||||
2010-06-23 | linker: Refactor parameters to cross_validate_uniforms | Ian Romanick | 1 | -6/+4 | |
2010-06-23 | linker: Write errors to info log instead of stdout | Ian Romanick | 1 | -48/+84 | |
2010-06-23 | linker: Initial implementation of varying slot allocation | Ian Romanick | 1 | -3/+76 | |
2010-06-23 | linker: Limit attribute allocation to MAX_VERTEX_ATTRIBS | Ian Romanick | 1 | -3/+13 | |
2010-06-23 | linker: Support matrix and array vertex inputs | Ian Romanick | 1 | -15/+179 | |
2010-06-23 | linker: Initial implementation of attribute slot allocation | Ian Romanick | 1 | -1/+82 | |
2010-06-23 | Import some bits Mesa's mtypes.h | Ian Romanick | 1 | -0/+221 | |
2010-06-23 | Import gl_program_parameter and gl_program_parameter_list types from Mesa | Ian Romanick | 1 | -1/+46 | |
2010-06-23 | linker: Store the par-linked per-stage shaders in the glsl_program | Ian Romanick | 2 | -20/+27 | |
2010-06-23 | linker: Initial implementation of uniform slot allocation | Ian Romanick | 1 | -1/+99 | |
2010-06-23 | Import gl_uniform and gl_uniform_list types from Mesa | Ian Romanick | 1 | -1/+34 | |
2010-06-23 | ir_variable: Add query to get number of slots used by a variable | Ian Romanick | 2 | -0/+16 | |
2010-06-23 | glsl_type: Add method to get number of slots used by a type | Ian Romanick | 2 | -0/+37 | |
2010-06-23 | linker: Document what remains to be done | Ian Romanick | 1 | -0/+14 | |
2010-06-23 | ir_variable: Set locations for shader built-in variables | Ian Romanick | 2 | -55/+65 | |
2010-06-23 | ir_variable: Track the location of uniforms, varings, attributes, etc. | Ian Romanick | 2 | -0/+18 | |
2010-06-23 | linker: Initial implementation of interstage input / output validation | Ian Romanick | 1 | -1/+105 | |
2010-06-23 | ir_variable: Add method to get string representing interpolation qualifier | Ian Romanick | 2 | -0/+27 | |
2010-06-23 | linker: Initial implementation of interstage uniform validation | Ian Romanick | 1 | -1/+69 | |
2010-06-23 | ir_constant: Add method to determine if two constants have the same value | Ian Romanick | 2 | -0/+61 | |
2010-06-23 | Fix multiple usage of an rvalue in constructor component splitting. | Eric Anholt | 1 | -3/+23 | |
Store the thing in a variable and deref it for each swizzle if we have to. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> | |||||
2010-06-23 | ir_validate: Use callback functionality in ir_hierarchical_visitor | Ian Romanick | 1 | -122/+34 | |
2010-06-23 | ir_hierarchical_visitor: Add generic callback functionality | Ian Romanick | 2 | -16/+72 | |
2010-06-22 | ir_validate: New pass for checking our invariants. | Eric Anholt | 4 | -0/+199 | |
2010-06-22 | ir: Give ir_instruction a print visitor helper. | Eric Anholt | 6 | -9/+13 | |
This avoids spamming each file with includes of ir_print_visitor.h because someone was doing debugging at some point, and is less typing when doing debugging. | |||||
2010-06-22 | Hook up texturing in the hierarchical visitor. | Eric Anholt | 1 | -0/+49 | |
2010-06-22 | Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL. | Eric Anholt | 22 | -24/+11 | |
2010-06-22 | Add missing build products to gitignore | Ian Romanick | 2 | -0/+6 | |
2010-06-21 | glcpp: Initialize error state. | Kenneth Graunke | 1 | -0/+1 | |
2010-06-21 | glcpp: Accept #elif without an expression if the expression doesn't matter. | Kenneth Graunke | 1 | -0/+11 | |
Issue a warning. nVidia's compiler seems to accept this; apparently GCC < 4.4 did as well: http://gcc.gnu.org/gcc-4.4/porting_to.html | |||||
2010-06-21 | glcpp: Print to the main compiler's infolog, not stdout. | Kenneth Graunke | 3 | -4/+4 | |
2010-06-21 | Use yy_scan_string and stop caring about shader->SourceLen. | Kenneth Graunke | 4 | -9/+7 | |
We had to call strlen on the preprocessed source, which seemed a bit pointless; also, we updated shader->SourceLen but not shader->Source, which was even more confusing. Just leave both untouched. | |||||
2010-06-21 | glcpp: Rework handling of "defined" operator. | Kenneth Graunke | 1 | -45/+33 | |
It's now done in the grammar, and as a result, can easily handle parenthesis. defined ( identifier ) is now supported. Fixes glcpp/tests/065-if-defined-parens.c. | |||||
2010-06-21 | glcpp/tests: Add a test for #if defined (identifier) | Kenneth Graunke | 2 | -0/+35 | |
Previously we only tested #if defined identifier (without parenthesis). | |||||
2010-06-21 | glcpp: Ignore junk tokens at end of #ifdef/#ifndef (with warning) | Kenneth Graunke | 1 | -2/+8 | |
Both nVidia's compiler and GCC accept this. Fixes CorrectPreprocess11.frag. |