summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-06-23linker: Document what remains to be doneIan Romanick1-0/+14
2010-06-23ir_variable: Set locations for shader built-in variablesIan Romanick2-55/+65
2010-06-23ir_variable: Track the location of uniforms, varings, attributes, etc.Ian Romanick2-0/+18
2010-06-23linker: Initial implementation of interstage input / output validationIan Romanick1-1/+105
2010-06-23ir_variable: Add method to get string representing interpolation qualifierIan Romanick2-0/+27
2010-06-23linker: Initial implementation of interstage uniform validationIan Romanick1-1/+69
2010-06-23ir_constant: Add method to determine if two constants have the same valueIan Romanick2-0/+61
2010-06-23Fix multiple usage of an rvalue in constructor component splitting.Eric Anholt1-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-23ir_validate: Use callback functionality in ir_hierarchical_visitorIan Romanick1-122/+34
2010-06-23ir_hierarchical_visitor: Add generic callback functionalityIan Romanick2-16/+72
2010-06-22ir_validate: New pass for checking our invariants.Eric Anholt4-0/+199
2010-06-22ir: Give ir_instruction a print visitor helper.Eric Anholt6-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-22Hook up texturing in the hierarchical visitor.Eric Anholt1-0/+49
2010-06-22Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL.Eric Anholt22-24/+11
2010-06-22Add missing build products to gitignoreIan Romanick2-0/+6
2010-06-21glcpp: Initialize error state.Kenneth Graunke1-0/+1
2010-06-21glcpp: Accept #elif without an expression if the expression doesn't matter.Kenneth Graunke1-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-21glcpp: Print to the main compiler's infolog, not stdout.Kenneth Graunke3-4/+4
2010-06-21Use yy_scan_string and stop caring about shader->SourceLen.Kenneth Graunke4-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-21glcpp: Rework handling of "defined" operator.Kenneth Graunke1-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-21glcpp/tests: Add a test for #if defined (identifier)Kenneth Graunke2-0/+35
Previously we only tested #if defined identifier (without parenthesis).
2010-06-21glcpp: Ignore junk tokens at end of #ifdef/#ifndef (with warning)Kenneth Graunke1-2/+8
Both nVidia's compiler and GCC accept this. Fixes CorrectPreprocess11.frag.
2010-06-21glcpp: Add glcpp_warning for printing warnings to the info log.Kenneth Graunke2-0/+21
2010-06-21glcpp: Add boolean 'error' flag.Kenneth Graunke2-1/+3
We used to check if the info log is non-empty, but when we print warnings, this will no longer be valid.
2010-06-21glcpp: Rename "errors" to "info_log."Kenneth Graunke4-19/+21
Eventually, we'll want to be be able to print out warnings as well.
2010-06-21glcpp: Don't include newlines as part of #version-passthrough.Kenneth Graunke1-1/+1
Fixes glcpp/tests/064-version.c.
2010-06-21glcpp/tests: Add a test for #version followed by #define.Kenneth Graunke2-0/+5
This isn't really a C file, but...that's probably okay.
2010-06-21glcpp: Fix line and column numbering.Kenneth Graunke1-1/+6
Lines were off by one, and column numbering was completely daft.
2010-06-21glcpp: Remove calls to exit().Kenneth Graunke1-6/+6
Calling exit() would be really bad once integrated into mesa. Even in the standalone binary, we want to print the error log first. Since each case already flags an error, compilation will still fail, but it may go on (with something fudged) and generate more errors.
2010-06-21glcpp: Add line locations to "Unterminated #if" error message.Kenneth Graunke2-6/+10
2010-06-21glcpp: Add line locations to various mismatched #if error messages.Kenneth Graunke1-11/+11
2010-06-21glcpp: Add line locations to "reserved name" error messages.Kenneth Graunke1-8/+13
2010-06-21glcpp: Print locations in error messages where possible.Kenneth Graunke1-7/+7
2010-06-21glcpp: Introduce new glcpp_error function.Kenneth Graunke3-2/+18
2010-06-21glcpp: Set locations on tokens.Kenneth Graunke2-9/+25
2010-06-21glcpp: Set line locations in the lexer.Kenneth Graunke1-4/+21
2010-06-21glcpp: Add plumbing to support line locations.Kenneth Graunke3-9/+21
2010-06-21glcpp: Add %error-verbose.Kenneth Graunke1-0/+1
2010-06-21glcpp: Actually support #ifdef and #ifndef.Kenneth Graunke1-0/+10
Strangely, the lexer never created these tokens, even though the parser already had code to handle them.
2010-06-21glcpp: Build a reentrant parser.Kenneth Graunke3-13/+15
2010-06-21glcpp: Print errors on stdout instead of stderr (non-standalone version).Kenneth Graunke1-1/+1
Otherwise, piglit marks tests as "warn" when the shader was (correctly) failing.
2010-06-21glcpp/tests: Add extra newline at the end of expected output.Kenneth Graunke67-0/+67
This newline at EOF is harmless and generated by the previous commit.
2010-06-21glcpp: Handle missing newline at EOF.Kenneth Graunke1-0/+9
Fixes CorrectFuncOverload.vert.
2010-06-21glcpp: Complain about unrecognized directives.Kenneth Graunke1-1/+3
2010-06-21glcpp: Pass #version, #extension, and #pragma directives through unchanged.Kenneth Graunke1-0/+7
Let the main compiler's lexer/parser handle them.
2010-06-21Make the main compiler call the preprocessor.Kenneth Graunke4-3/+60
By using a single function, the main compiler doesn't need to include glcpp.h, which currently has a lot of details about the preprocessor internals. In particular, this prevents the two yacc grammars from seeing each other, which would be rather messy to sort out.
2010-06-21Complain and exit if the given shader file doesn't exist.Kenneth Graunke1-0/+4
2010-06-21glcpp: Add support for lexing from a string.Kenneth Graunke2-0/+9
The standalone binary still reads from stdin, however.
2010-06-21glcpp: Output to a buffer and error log rather than directly printing.Kenneth Graunke3-48/+60
In the standalone case, simply print the buffers when done.
2010-06-21glcpp: Fix a case of == where = probably ought to be.Kenneth Graunke1-1/+1
Caught by a GCC warning.