summaryrefslogtreecommitdiff
path: root/src/mesa/shader
AgeCommit message (Collapse)Author
2009-02-11glsl: allow setting arrays of samplers in set_program_uniform()Brian Paul
Arrays of sampler vars haven't been tested much and might actually be broken. Will need to be revisited someday. Another fix for bug 20056.
2009-02-11glsl: raise GL_INVALID_OPERATION for glUniform(location < -1)Brian Paul
location = -1 is silently ignored, but other negative values should raise an error. Another fix for bug 20056.
2009-02-11glsl: rework _mesa_get_uniform[fi]v() to avoid using a fixed size ↵Brian Paul
intermediate array
2009-02-11glsl: fix glUniform() array bounds error checkingBrian Paul
If too many array elements are specified, they're to be silently ignored (don't raise a GL error). Fixes another issue in bug 20056.
2009-02-11glsl: fix incorrect size returned by glGetActiveUniform() for array elements.Brian Paul
Fixes one of the issues in bug 20056.
2009-02-11mesa: Use the stdio wrappers.José Fonseca
snprint symbol does not exist in Windows.
2009-02-09re-add MSAA supportBrian Paul
(cherry picked from commit f7d80aa00611917bc8ce637136d982b151b8f44f) This also involved adding the new MSAA fields to driCreateConfigs(). Also, re-add prog_instructions->Sampler field for i965 driver. Will have to revisit that.
2009-02-09mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul
Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
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-06mesa: tweak output of _mesa_write_shader_to_file()Brian Paul
Enclose GPU code in comments to the file can be re-fed back into GLSL compiler.
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-02-04glsl: use _slang_var_swizzle() in a few places to simplify the code.Brian Paul
2009-02-04glsl: remove unused prototypeBrian Paul
2009-02-04glsl: replace assertion with conditional in _slang_pop_var_table()Brian Paul
We were hitting the assertion when we ran out of registers, which can happen. Also, add some additional assertions and freshen up some comments.
2009-02-02mesa: fix GLSL issue preventing use of all 16 generic vertex attributesBrian Paul
Only 15 actually worked before since we always reserved generic[0] as an alias for vertex position. The case of vertex attribute 0 is tricky. The spec says that there is no aliasing between generic vertex attributes 0..MAX_VERTEX_ATTRIBS-1 and the conventional attributes. But it also says that calls to glVertexAttrib(0, v) are equivalent to glVertex(v). The distinction seems to be in glVertex-mode versus vertex array mode. So update the VBO code so that if the shader uses generic[0] but not gl_Vertex, route the attribute data set with glVertex() to go to shader input generic[0]. No change needed for the glDrawArrays/Elements() path. This is a potentially risky change so regressions are possible. All the usual tests seem OK though.
2009-02-02glsl: update program->InputsRead when referencing input attributesBrian Paul
This info will be used in the linker for allocating generic vertex attribs.
2009-02-02mesa: make _mesa_fprint_program_opt() non-staticBrian Paul
2009-01-28Make GL_ARB_draw_buffers mandatoryIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-01-28Make GL_ARB_vertex_buffer_object mandatoryIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-01-28mesa: remove GL_SGIX_shadow, GL_SGIX_shadow_ambient and GL_SGIX_depth_textureBrian Paul
Everyone should be using the newer/better ARB versions of these extensions.
2009-01-22glsl: call _mesa_write_shader_to_file(). Debug-only, disabledBrian Paul
2009-01-22glsl: new _mesa_write_shader_to_file() functionBrian Paul
Used to log a shader to a file. Includes shader source code, the info log and generated GPU instructions.
2009-01-22glsl: set shader->CompileStatus in _slang_compile()Brian Paul
2009-01-22Merge commit 'origin/master' into gallium-0.2Alan Hourihane
Conflicts: windows/VC8/mesa/osmesa/osmesa.vcproj windows/VC8/progs/demos/gears.vcproj windows/VC8/progs/progs.sln
2009-01-20glsl: silence unused var warningsBrian Paul
2009-01-20mesa: silence compiler warning at -O2Brian Paul
2009-01-16Merge commit 'origin/master' into gallium-0.2Alan Hourihane
Conflicts: src/mesa/shader/slang/slang_compile.c
2009-01-16glsl: fix broken sampler assignmentsBrian Paul
2009-01-15glsl: use _mesa_sprintf()Brian Paul
2009-01-15glsl: move declaration before codeBrian Paul
2009-01-15mesa: Fix merge conflictsJakob Bornecrantz
2009-01-14glsl: fix commentBrian Paul
2009-01-14glsl: minor clean-up for rect sampler testBrian Paul
2009-01-14Merge commit 'origin/master' into gallium-0.2Alan Hourihane
Conflicts: docs/install.html docs/relnotes-7.3.html src/mesa/shader/slang/slang_codegen.c src/mesa/shader/slang/slang_compile.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_preprocess.c src/mesa/shader/slang/slang_preprocess.h
2009-01-14glsl: propagate pragma info down into compiler from preprocessorBrian Paul
2009-01-14glsl: simplify IR storage for samplersBrian Paul
Don't overload the Size field with the texture target, to avoid confusion.
2009-01-14Treat image units and coordinate units differently.Ian Romanick
Previously MaxTextureUnits was used to validate both texture image units and texture coordinate units in fragment programs. Instead, use MaxTextureCoordUnits for texture coordinate units and MaxTextureImageUnits for texture image units. Fixes bugzilla #19468. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2009-01-14glsl: fix regression from sampler arrays commitAlan Hourihane
2009-01-14glsl: fix regression from sampler arrays commitAlan Hourihane
2009-01-14mesa: put _NV suffix on a few opcodesBrian Paul
2009-01-14glsl: fix a comment typoAlan Hourihane
2009-01-14glsl: support sampler arrays.Alan Hourihane
2009-01-13glsl: fix a comment typoAlan Hourihane
2009-01-13glsl: support sampler arrays.Alan Hourihane
2009-01-13glsl: add preprocessor support for #pragmaBrian Paul
Two forms are supported: Pragmas are silently ignored at this time.
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-09glsl: make minimum struct size = 2, not 1Brian Paul
1-component structs such as "struct foo { float x; }" could get placed at any position within a register. This caused some trouble computing the field offset which assumed all struct objects were placed at R.x. It would be unusual to hit this case in normal shaders.