summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-06-22ir: 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-22Hook up texturing in the hierarchical visitor.Eric Anholt
2010-06-22Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL.Eric Anholt
2010-06-22Add missing build products to gitignoreIan Romanick
2010-06-21glcpp: Initialize error state.Kenneth Graunke
2010-06-21glcpp: 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-21glcpp: Print to the main compiler's infolog, not stdout.Kenneth Graunke
2010-06-21Use 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-21glcpp: 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-21glcpp/tests: Add a test for #if defined (identifier)Kenneth Graunke
Previously we only tested #if defined identifier (without parenthesis).
2010-06-21glcpp: Ignore junk tokens at end of #ifdef/#ifndef (with warning)Kenneth Graunke
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 Graunke
2010-06-21glcpp: Add boolean 'error' flag.Kenneth Graunke
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 Graunke
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 Graunke
Fixes glcpp/tests/064-version.c.
2010-06-21glcpp/tests: Add a test for #version followed by #define.Kenneth Graunke
This isn't really a C file, but...that's probably okay.
2010-06-21glcpp: Fix line and column numbering.Kenneth Graunke
Lines were off by one, and column numbering was completely daft.
2010-06-21glcpp: Remove calls to exit().Kenneth Graunke
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 Graunke
2010-06-21glcpp: Add line locations to various mismatched #if error messages.Kenneth Graunke
2010-06-21glcpp: Add line locations to "reserved name" error messages.Kenneth Graunke
2010-06-21glcpp: Print locations in error messages where possible.Kenneth Graunke
2010-06-21glcpp: Introduce new glcpp_error function.Kenneth Graunke
2010-06-21glcpp: Set locations on tokens.Kenneth Graunke
2010-06-21glcpp: Set line locations in the lexer.Kenneth Graunke
2010-06-21glcpp: Add plumbing to support line locations.Kenneth Graunke
2010-06-21glcpp: Add %error-verbose.Kenneth Graunke
2010-06-21glcpp: Actually support #ifdef and #ifndef.Kenneth Graunke
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 Graunke
2010-06-21glcpp: Print errors on stdout instead of stderr (non-standalone version).Kenneth Graunke
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 Graunke
This newline at EOF is harmless and generated by the previous commit.
2010-06-21glcpp: Handle missing newline at EOF.Kenneth Graunke
Fixes CorrectFuncOverload.vert.
2010-06-21glcpp: Complain about unrecognized directives.Kenneth Graunke
2010-06-21glcpp: Pass #version, #extension, and #pragma directives through unchanged.Kenneth Graunke
Let the main compiler's lexer/parser handle them.
2010-06-21Make the main compiler call the preprocessor.Kenneth Graunke
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 Graunke
2010-06-21glcpp: Add support for lexing from a string.Kenneth Graunke
The standalone binary still reads from stdin, however.
2010-06-21glcpp: Output to a buffer and error log rather than directly printing.Kenneth Graunke
In the standalone case, simply print the buffers when done.
2010-06-21glcpp: Fix a case of == where = probably ought to be.Kenneth Graunke
Caught by a GCC warning.
2010-06-21Add glcpp to the build.Kenneth Graunke
2010-06-21Specify %option prefix="glcpp_" in the source code, not the Makefile.Kenneth Graunke
2010-06-21Merge Carl's preprocessor into the glcpp subdirectory.Kenneth Graunke
2010-06-19Print out the info log if compilation fails.Kenneth Graunke
2010-06-19Change error/warning functions to print to the info log.Kenneth Graunke
2010-06-19Initialize the shader info logIan Romanick
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2010-06-19Make shader a talloc context.Kenneth Graunke
2010-06-19Link against talloc. We're going to be using it.Kenneth Graunke
2010-06-19Fix crash when running glsl on a signle fragment shader.Kenneth Graunke
2010-06-19Rename prog to shader. Less confusing.Kenneth Graunke
2010-06-19Fix compile on 64-bit.Kenneth Graunke