summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_compile.c
AgeCommit message (Collapse)Author
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-16glsl: Remove unnecessary headers from slang_compile.c.Vinson Lee
2009-12-31Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: configs/darwin src/gallium/auxiliary/util/u_clear.h src/gallium/state_trackers/xorg/xorg_exa_tgsi.c src/mesa/drivers/dri/i965/brw_draw_upload.c
2009-12-29glsl: added uniform initializer checkBrian Paul
GLSL 1.10 disallows initializers for uniforms but GLSL 1.20 and later allows them. This patch uses the #version directive to allow/disallow uniform initializers. This addresses bug 25807, but piglit also needs to be fixed to specify the GLSL version in the shader.
2009-12-21glsl: assorted clean-ups in slang_compile.cBrian Paul
2009-12-21Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/main/version.h src/mesa/state_tracker/st_atom_shader.c
2009-12-21Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul
Conflicts: configure.ac progs/demos/morph3d.c progs/demos/textures.c progs/glsl/shtest.c progs/glsl/texaaline.c progs/tests/packedpixels.c progs/xdemos/corender.c src/mesa/main/version.h
2009-12-20slang: Update after glsl cl interface changes.Michal Krol
2009-12-20slang: Update after glsl pp changes.Michal Krol
2009-12-18glsl: clear out shader code before compilingBrian Paul
When we start compiling a shader, first free the existing gl_program. This (mostly) fixes the piglit glsl-reload-source test. Without this change, we were actually appending the new GPU code onto the previous program.
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