Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-06-23 | Fix double usage of the post-inc/dec's temporary pre-inc/dec copy. | Eric Anholt | |
Fixes CorrectSwizzle3.frag. | |||
2010-06-23 | Avoid using the RHS of an assignment twice. | Eric Anholt | |
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 | |
2010-06-23 | ast_to_hir: Clone LHS derefs of assignment expressions. | Eric Anholt | |
2010-06-23 | ir_function_inlining: Allow inlining of loops and conditionals. | Eric Anholt | |
The new cloning code handles them. | |||
2010-06-23 | Add a virtual clone() method to ir_instruction. | Eric Anholt | |
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 | |
2010-06-23 | glcpp: Support line continuations within preprocessor directives. | Kenneth Graunke | |
Fixes CorrectPreprocess5.frag. | |||
2010-06-23 | glcpp: Make standalone binary use preprocess(). | Kenneth Graunke | |
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 | |
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 | |
Now handled by the preprocessor. | |||
2010-06-23 | glcpp: Recognize plain "//" as a comment. | Kenneth Graunke | |
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 | |
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 | |
2010-06-23 | linker: Use InfoLog in assign_attribute_locations | Ian Romanick | |
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 | |
2010-06-23 | linker: Write errors to info log instead of stdout | Ian Romanick | |
2010-06-23 | linker: Initial implementation of varying slot allocation | Ian Romanick | |
2010-06-23 | linker: Limit attribute allocation to MAX_VERTEX_ATTRIBS | Ian Romanick | |
2010-06-23 | linker: Support matrix and array vertex inputs | Ian Romanick | |
2010-06-23 | linker: Initial implementation of attribute slot allocation | Ian Romanick | |
2010-06-23 | Import some bits Mesa's mtypes.h | Ian Romanick | |
2010-06-23 | Import gl_program_parameter and gl_program_parameter_list types from Mesa | Ian Romanick | |
2010-06-23 | linker: Store the par-linked per-stage shaders in the glsl_program | Ian Romanick | |
2010-06-23 | linker: Initial implementation of uniform slot allocation | Ian Romanick | |
2010-06-23 | Import gl_uniform and gl_uniform_list types from Mesa | Ian Romanick | |
2010-06-23 | ir_variable: Add query to get number of slots used by a variable | Ian Romanick | |
2010-06-23 | glsl_type: Add method to get number of slots used by a type | Ian Romanick | |
2010-06-23 | linker: Document what remains to be done | Ian Romanick | |
2010-06-23 | ir_variable: Set locations for shader built-in variables | Ian Romanick | |
2010-06-23 | ir_variable: Track the location of uniforms, varings, attributes, etc. | Ian Romanick | |
2010-06-23 | linker: Initial implementation of interstage input / output validation | Ian Romanick | |
2010-06-23 | ir_variable: Add method to get string representing interpolation qualifier | Ian Romanick | |
2010-06-23 | linker: Initial implementation of interstage uniform validation | Ian Romanick | |
2010-06-23 | ir_constant: Add method to determine if two constants have the same value | Ian Romanick | |
2010-06-23 | Fix multiple usage of an rvalue in constructor component splitting. | Eric Anholt | |
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 | |
2010-06-23 | ir_hierarchical_visitor: Add generic callback functionality | Ian Romanick | |
2010-06-22 | ir_validate: New pass for checking our invariants. | Eric Anholt | |
2010-06-22 | ir: Give ir_instruction a print visitor helper. | Eric Anholt | |
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 | |
2010-06-22 | Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL. | Eric Anholt | |
2010-06-22 | Add missing build products to gitignore | Ian Romanick | |
2010-06-21 | glcpp: Initialize error state. | Kenneth Graunke | |
2010-06-21 | glcpp: Accept #elif without an expression if the expression doesn't matter. | Kenneth Graunke | |
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 | |
2010-06-21 | Use yy_scan_string and stop caring about shader->SourceLen. | Kenneth Graunke | |
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 | |
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 | |
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 | |
Both nVidia's compiler and GCC accept this. Fixes CorrectPreprocess11.frag. |