summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_compile.c
AgeCommit message (Collapse)Author
2009-12-12Merge branch 'master' into glsl-pp-rework-2Michal Krol
Conflicts: progs/perf/drawoverhead.c progs/perf/teximage.c progs/perf/vbo.c progs/perf/vertexrate.c src/mesa/shader/slang/library/slang_common_builtin_gc.h
2009-12-10slang: Predefine ES symbols for FEATURE_es2_glsl.Michal Krol
2009-12-10slang: Explicitly enable ARB_draw_buffers and ARB_texture_rectangle.Michal Krol
They are no longer built into the glsl preprocessor.
2009-11-23slang: Fix order of parameters to sl_pp_tokenise().Michal Krol
2009-11-21slang: No need to purify source text for tokeniser.Michal Krol
2009-11-13slang: Report syntax parser errors.Michal Krol
2009-11-13slang: Get rid of the old syntax file and utilities.Michal Krol
2009-11-13slang: Plug in the new syntax parser.Michal Krol
2009-11-10slang: Update for glsl/pp interface changes.Michal Krol
2009-09-29mesa: added nopfrag/nopvert options for MESA_GLSLBrian Paul
These options can be used to force vertex/fragment shaders to be no-op shaders (actually, simple pass-through shaders). For debug/test purposes.
2009-09-22slang: Differentiate between uints and floats.Michal Krol
2009-09-18slang: Use glsl pp public interface.Michal Krol
2009-09-16slang: Propagate error messages from preprocessor.Michal Krol
2009-09-16slang: Invoke the preprocessor from withing the slang compiler.Michal Krol
This allows us to validate the shader version number.
2009-09-08slang: Correctly parse numbers from the new preprocessor.Michal Krol
2009-09-08slang: Remove the old preprocessor.Michal Krol
2009-06-26glsl: added slang_assemble_ctx::EmitContReturn field, initBrian Paul
2009-04-27Avoid a segfault in shader compilationRobert Ellison
If a shader reaches an out-of-memory condition while adding a new function (reallocating the function list), a segfault will occur during cleanup (because the num_functions field is non-zero, but the functions pointer is NULL). This fixes that segfault by zeroing out the num_functions field if reallocation fails.
2009-04-07glsl: don't optimize program if MESA_GLSL=noptBrian Paul
2009-04-01glsl: implement compiling/linking of separate compilation unitsBrian Paul
A shader program may consist of multiple shaders (source code units). If we find there are unresolved functions after compiling the unit that defines main(), we'll concatenate all the respective vertex or fragment shaders then recompile. This isn't foolproof but should work in most cases.
2009-03-19slang: initialize the contextAlan Hourihane
2009-03-19glsl: change GLSL #pragma initializationBrian Paul
Initialize the shader's pragma settings before calling the compiler. Added pragma "Ignore" fields to allow overriding the #pragma directives found in shader source code.
2009-03-06glsl: call the program optimizerBrian Paul
This still needs more testing bug glean and Mesa GLSL tests seem OK.
2009-02-16glsl: silence some uninit var warningsBrian Paul
2009-02-06glsl: new MESA_GLSL env var for GLSL debugging featuresBrian Paul
Replaces the VERBOSE_GLSL, VERBOSE_GLSL_DUMP flags which only worked in debug builds. MESA_GLSL will work both in debug and non-debug builds. Also add facility to dump glUniform() calls to stdout.
2009-02-06Revert "mesa: meaningless whitespace change to see if git's working (ignore)"Brian Paul
This reverts commit b2e779988eeb595187933fe2122d86f8ccfe059c. I didn't mean to push this stuff yet. I'm having a bad git day...
2009-02-06mesa: meaningless whitespace change to see if git's working (ignore)Brian Paul
2009-01-22glsl: call _mesa_write_shader_to_file(). Debug-only, disabledBrian Paul
2009-01-22glsl: set shader->CompileStatus in _slang_compile()Brian Paul
2009-01-15glsl: move declaration before codeBrian Paul
2009-01-14glsl: propagate pragma info down into compiler from preprocessorBrian Paul
2009-01-12glsl: better fix for for-loop scope issue (commit ↵Brian Paul
6333005f7aea3e5d1d86a5c47b3fa2a1ed2f3ff0)
2009-01-10glsl: force creation of new scope for for-loop bodyBrian Paul
Fixes regression in progs/demos/convolution.c due to loop unrolling. This also allows the following to be compiled correctly: for (int i = 0; i < n; i++) { int i; ... } This fix is a bit of a hack, however. The better fix would be to change the slang_shader.syn grammar. Will revisit that...
2009-01-10glsl: replace 0/1 with GL_FALSE/GL_TRUEBrian Paul
2009-01-07glsl: pass GLcontext::Extension info down into GLSL preprocessorBrian Paul
Now the #extension directives can be handled properly.
2008-12-16mesa: disable debug outputBrian Paul
2008-12-16mesa: fix some GLSL array regressionsBrian Paul
array.length() wasn't working. Swizzle mask for accessing elements of float arrays was incorrect.
2008-12-15mesa: bump glsl grammar revisionBrian Paul
And update some copyrights.
2008-12-12mesa: remove unused varpool code in glsl compilerBrian Paul
2008-12-12mesa: remove incorrect array_len assignmentBrian Paul
2008-12-12mesa: fix some more GLSL 1.20 array things.Brian Paul
Function that return arrays should work now.
2008-12-12mesa: glsl compiler function renamingBrian Paul
2008-12-12mesa: remove unused fixup table code in glsl compilerBrian Paul
2008-12-12mesa: checkpoint: GLSL 1.20 array constructorsBrian Paul
2008-12-11mesa: glsl clean-upsBrian Paul
2008-12-11mesa: checkpoint commit of GLSL 1.20 array syntax.Brian Paul
This allows things like float[3] x = float[3](1., 2., 3.); Parsing and AST construction now. Codegen not working yet.
2008-11-26mesa: remove debug codeBrian Paul
2008-11-24mesa: added support for GLSL 1.20 array.length() methodBrian Paul
This is the only method supported in GLSL 1.20 so we take a few short-cuts.
2008-11-24mesa: support for GLSL 1.20 array typesBrian Paul
This allows syntax like "float[8] foo, bar;"
2008-11-24mesa: copy centroid/invariance/precision info in parse_init_declarator()Brian Paul