summaryrefslogtreecommitdiff
path: root/src/mesa/shader
AgeCommit message (Collapse)Author
2008-07-01mesa: fix a GLSL vector subscript/writemask bugBrian Paul
This fixes a failure for cases like: vec4 v; v[1] *= 2.0; The v[1] actually acts like a writemask, equivalent to v.y The fix is a bit convoluted, but will do for now. cherry-picked from master
2008-07-01mesa: move some functionsBrian Paul
cherry-picked from master
2008-07-01mesa: make _slang_swizzle_swizzle() non-privateBrian Paul
cherry-picked from master
2008-07-01mesa: better function inlining in the presence of 'return' statementsBrian Paul
Before, the presence of a 'return' statement always prevented inlining a function. This was because we didn't want to accidentally return from the _calling_ function. We still need the semantic of 'return' when inlining but we can't always use unconditional branches/jumps (GPUs don't always support arbitrary branching). Now, we allow inlining functions w/ return if the return is the last statement in the function. This fixes the common case of a function that returns a value, such as: vec4 square(const in vec4 x) { return x * x; } which effectively compiles into: vec4 square(const in vec4 x) { __retVal = x * x; return; } The 'return' can be no-op'd now and we can inline the function. cherry-picked from master
2008-07-01mesa: add/fix some IrInfo entries for debugging purposesBrian Paul
cherry-picked from master
2008-06-28mesa: added null ptr checksBrian Paul
2008-06-28s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()Brian Paul
2008-06-24mesa: Use appropriate unsigned/signed, float/integer types.José Fonseca
2008-06-12silly bug: it's PROGRAM_VARYINGZack Rusin
2008-06-12glsl: make sure we replace all output reads with temporariesZack Rusin
test in if.glsl
2008-06-12mesa: remove unneeded #includeBrian Paul
2008-06-12almost forgot - RelAddr is a boolean so use it hereZack Rusin
2008-06-12shaders: fix allocation of arrays of parametersZack Rusin
2008-06-12glsl: implement variable array indexesZack Rusin
2008-06-10mesa: include mtypes.hBrian Paul
2008-06-09glsl: fix array size initialiazers using const variablesZack Rusin
e.g. const int kernelSize = 9; uniform vec2 kernel[kernelSize];
2008-06-04Set the attribute as used.Alan Hourihane
2008-05-31mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-05-28Merge branch 'gallium-vertex-linear' into gallium-0.1Jakob Bornecrantz
Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c
2008-05-24mesa: pre-swizzle normal scale state valueKeith Whitwell
2008-05-23mesa: do object-space lighting in ffvertex_prog.cKeith Whitwell
Start pulling over some of the optimizations from the fixed function paths.
2008-05-20copy StateFlags in _mesa_clone_parameter_list()Brian Paul
cherry-picked from master (b539b6132141b0f583076355ad158852667b79cd)
2008-05-20fix incorrect sampler numbering/indexing.Brian Paul
All samplers indexes were zero. cherry-picked from master (b6fb0940c226373ac235a5d327d3fcfd742bc6b9)
2008-05-19fix tempReg test in _mesa_combine_programs()Brian Paul
2008-05-18print vertex.attrib[n] (from master)Brian Paul
2008-05-18Fix some bugs in material, depth range stateBrian Paul
picked from master
2008-05-18alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)Brian Paul
these should be the same functions (as per spec). cherry-picked from master (86a4810b09097714942bf2b889e6c62357bba931)
2008-05-16bring in fixes/changes from masterBrian Paul
2008-05-16Fix a program refcounting error, don't share program parameter lists.Brian Paul
The refcounting bug was causing a memleak (unfreed programs). The old parameter list sharing is not needed since the change in how uniforms are handled.
2008-05-14fix parsing of state.texenv.color (bug 14931)Brian Paul
cherry-picked from master
2008-05-14Consolidate texture fetch code and use partial derivatives when possible.Brian Paul
picked from master
2008-05-14mesa: fix InfoLog memleak, misc sync with masterBrian Paul
2008-05-14Bug #13492: Only call ProgramStringNotify if program parsing succeeded.Eric Anholt
Wine intentionally tries some out-of-spec programs to test strictness, and calling ProgramStringNotify on the results of a failed program parse resulted in crashes in the 965 driver.
2008-05-14fix swizzle error test (bug 11881)Brian
2008-05-14fix-up inlined/non-inlined function inconsistenciesBrian Paul
cherry-picked from master
2008-05-14mesa: rm unneeded fileBrian Paul
2008-05-14mesa: prefix rm command with -Brian Paul
2008-05-14rewrite some of the mat*mat, mat*vec intrinsicsBrian Paul
Also, remove obsolete matrix codegen code. cherry-picked from master
2008-05-14mesa: regenerate slang built-in data (asin(vec4) fix)Brian Paul
2008-05-14mesa: fix missing w assignment in asin(vec4)Brian Paul
2008-05-14mesa: use CALLOC_STRUCT()Brian Paul
2008-05-14mesa: updated commentBrian Paul
2008-05-14mesa: minor bug fixes from masterBrian Paul
2008-05-14mesa: dead code removalBrian Paul
2008-05-14mesa: minor bug fixes, null ptr checks, dead code removalBrian Paul
2008-05-14mesa: fix errors in LightModelProduct state, other misc error casesBrian Paul
2008-05-14mesa: glUniform(location==-1) is not an errorBrian Paul
2008-05-14fix some additional program refcounting bugsBrian Paul
cherry-picked from master
2008-05-06gallium: implement full reference counting for vertex/fragment programsBrian
Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test. Another memory bug involving shaders yet to be fixed...
2008-04-23gallium: fix potential divide by zero in fog computationBrian Paul
It's legal for Fog.Start == Fog.End and conformance testing does so.