Age | Commit message (Collapse) | Author |
|
|
|
|
|
This adds proper support for the GL_ARB_shader_stencil_export extension
to the GLSL compiler. Thanks to Ian for pointing out where I need to add things.
|
|
Only layout(location=#) is supported. Setting the index requires GLSL
1.30 and GL_ARB_blend_func_extended.
|
|
Also define it if #version 100 is encountered.
|
|
|
|
As it was, the header could not be cleanly #included by a C source.
|
|
Hooray, we can valgrind again without adding suppressions. This also
adds an interface for use by an implementation of
glReleaseShaderCompiler().
|
|
|
|
|
|
Fixes:
glsl1-for-loop with continue
Bug #29097
|
|
This is an invasive set of changes. Each user shader tracks a set of other
shaders that contain built-in functions. During compilation, function
prototypes are imported from these shaders. During linking, the
shaders are linked with these built-in-function shaders just like with
any other shader.
|
|
In both the preprocessor and in the compiler proper, we use a custom
yyltype struct to allow tracking the source-string number in addition
to line and column. However, we were previously relying on bison's
default initialization of the yyltype struct which of course is not
aware of the source field and leaves it uninitialized.
We fix this by defining our own YYLLOC_DEFAULT macro expanding on the
default version (as appears in the bison manual) and adding
initialization of yylloc.source.
|
|
Coming changes to the handling of built-in functions necessitate this.
|
|
Fixes:
glsl1-built-in constants
|
|
Most places in the code simply use a static name, which works because
names are never used to look up an ir_variable. generate_temporary is
simply unnecessary (and looks like it would leak memory, and isn't
thread safe...)
|
|
The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
|
|
The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
|
|
|
|
|
|
This doesn't do any control flow analysis to ensure that the return
statements are actually reached.
Fixes piglit tests function5.frag and function-07.vert.
|
|
|