summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_compile.c
AgeCommit message (Collapse)Author
2010-06-10mesa: move shader/slang/* sources to main/slang/*Brian Paul
Reduce the source tree depth a bit.
2010-05-24glsl: silence unused var warningsBrian Paul
2010-05-24mesa: Handle FEATURE_es2_glsl differences at runtime tooKristian Høgsberg
Now that we can support different APIs at runtime, we need to check the context for the API we're currently providing as well. https://bugs.freedesktop.org/show_bug.cgi?id=28194
2010-03-15Replace _mesa_strtod with _mesa_strtof.Marcin Baczyński
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2010-02-25glsl: implement support for GL_EXT_texture_arrayBrian Paul
GL_EXT_texture_array is different from the existing GL_MESA_texture_array support in that the former is only supported for GLSL, not fixed-function. The shadow compare versions of the sampler functions haven't been tested yet. The non-shadow versions have been tested with a new piglit test.
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg
2010-02-19Remove _mesa_strncmp in favor of plain strncmp.Kenneth Graunke
2010-02-19Remove _mesa_strcmp in favor of plain strcmp.Kenneth Graunke
2010-02-19Remove _mesa_strlen in favor of plain strlen.Kenneth Graunke
2010-02-13mesa: Fix compiler warningsKarl Schultz
Add explicit casts, fix constant types, fix variable types. Fixes about 340 warnings in MSFT Visual Studio.
2010-02-13glsl: implement layout qualifiersBrian Paul
For GL_ARB_fragment_coord_conventions. This only applies to gl_FragCoord and controls pixel center origin and pixel center integer. For example: layout (origin_upper_left, pixel_center_integer) varying vec4 gl_FragCoord; This features introduces the idea of re-declaring variables with a changed type. This may also apply to arrays in some cases but that's not implemented at this time.
2010-02-10Simplify GLSL extension mechanism.Michal Krol
Since extension name and extension name string are the same, collapse them into one name.
2010-02-10glsl: GLSL extensions have the GL_ prefixBrian Paul
Both the #extension directive name and the preprocessor symbol start with the GL_ prefix. For example: ... New glean/glsl1 tests have been added to test the #extension feature.
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