summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2010-06-18Ensure that shader_in and shader_out are correctly set in declarationsIan Romanick
2010-06-18glsl_lexer: centroid and invariant are not reserved words in GLSL 1.10Ian Romanick
2010-06-18glsl_lexer: Handle interpolation qualifiersIan Romanick
2010-06-17linker: Add some function header commentsIan Romanick
2010-06-17TODO: Add note about initializers for constantsIan Romanick
2010-06-17Allow initializers for uniformsIan Romanick
2010-06-17Don't link shaders by defaultIan Romanick
Add a command line option to trigger linking. This "fixes" all the failing test cases. Oops.
2010-06-17linker: Initial bits of the linkerIan Romanick
No linking is done yet, but some of the semantic checking is done.
2010-06-17Use glsl_program instead of an open-coded vector of shadersIan Romanick
2010-06-17Add glsl_program that is similar to Mesa's gl_shader_programIan Romanick
2010-06-17Change glsl_program to glsl_shaderIan Romanick
2010-06-17Compile multiple shaders listed on the command lineIan Romanick
2010-06-17Extract compilation to a separate routineIan Romanick
Pull all of the code that actually compiles shaders into a separate function. Use a glsl_program to track data about the compiled shader.
2010-06-17Add glsl_program that is similar to Mesa's gl_programIan Romanick
This will be used as the header for individual compilation units.
2010-06-15Add TODO listIan Romanick
Don't want to forget anything, no do we?
2010-06-15Printing LIR is optionalIan Romanick
2010-06-15Printing the AST is optionalIan Romanick
2010-06-15Minor bits of code rearrangingIan Romanick
2010-06-15Infer shader type from suffix on filenameIan Romanick
2010-06-14Remove ability to read "IR shaders" from stand-alone compilerIan Romanick
2010-06-14Move stand-alone compiler main routine to main.cppIan Romanick
2010-06-11ir_constant: Eliminate 'void *' constructorIan Romanick
All of the places that had been using the (glsl_type *, void *) constructor were actually passing an ir_constant_data for the 'void *'. The code can be greatly simplified by replacing this constructor with a (glsl_type *, ir_constant_data *) constructor. This should also help prevent one class of invalid uses of the old constructor.
2010-06-11Use statically typed ir_constant constructors wherever possibleIan Romanick
2010-06-11ir_reader: Use 'union ir_constant_data' in read_constantIan Romanick
2010-06-11ir_constant_visitor: Type of constant result is same as original expressionIan Romanick
The type of the resulting constant must be the same as the type of the original expression. The changes to the code require that the case where an unhandled expression is received, and there really shouldn't be any of these, must be an exit point.
2010-06-11ir_constant_visitor: Types of ir_binop_{equal,nequal} must matchIan Romanick
The types must match exactly, so there is no reason to check the types here.
2010-06-11ir_constant_visitor: Use 'union ir_constant_data' in expression handlerIan Romanick