summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang
AgeCommit message (Collapse)Author
2008-07-15mesa: fix some broken /= operatorsBrian Paul
2008-07-15mesa: fix some broken bool, bvec2, bvec3, bvec4 constructorsBrian Paul
2008-07-15mesa: fix storage size computation in emit_arith()Brian Paul
2008-07-14mesa: assemble main() after all other functionsBrian Paul
Before, main() had to come after any functions it called.
2008-07-14mesa: check for null shader->SourceBrian Paul
2008-07-08mesa: more debug outputBrian Paul
2008-07-08mesa: compute global var size before doing codegenBrian Paul
2008-07-08mesa: add missing VARYING case to storage_string()Brian Paul
2008-07-03mesa: regenerated fileBrian Paul
2008-07-03mesa: additional vec4 constructorBrian Paul
2008-07-03mesa: fix array storage allocation bugBrian Paul
2008-07-03mesa: fix incorrect array size, added assertionBrian Paul
2008-07-02mesa: when linking a shader program, make sure all the shaders compiled OKBrian Paul
2008-07-02mesa: added some debug code (disabled)Brian Paul
2008-07-02mesa: regeneratedBrian Paul
2008-07-02mesa: added some missing equal() notEqual() intrinsicsBrian Paul
2008-07-02mesa: regenerated filesBrian Paul
2008-07-02mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctorsBrian Paul
2008-07-02generate a link error if the vertex shader references too many texturesBrian Paul
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.
2008-07-01mesa: move some functionsBrian Paul
2008-07-01mesa: make _slang_swizzle_swizzle() non-privateBrian Paul
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.
2008-07-01mesa: add/fix some IrInfo entries for debugging purposesBrian Paul
2008-06-12glsl: make sure we replace all output reads with temporariesZack Rusin
test in if.glsl
2008-06-12glsl: fix array size initialiazers using const variablesZack Rusin
e.g. const int kernelSize = 9; uniform vec2 kernel[kernelSize];
2008-06-12glsl: implement variable array indexesZack Rusin
2008-06-04Set the attribute as used.Brian Paul
cherry-picked from gallium-0.1
2008-05-20fix incorrect sampler numbering/indexing.Brian Paul
All samplers indexes were zero.
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-16fix assertion typo: s/=/==/Brian Paul
2008-05-14Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul
Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
2008-05-14fix some additional program refcounting bugsBrian Paul
2008-05-07Never fail `make clean'Dan Nicholson
Mostly some pedantic changes such that `make clean' always ignores errors. Also changed the top clean target to do the `touch configs/current' dance instead of realclean.
2008-05-06implement 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.
2008-04-23glcore: drop outdated sources files intented for xorgGeorge Sapountzis
2008-04-14fix GL_ARB_texture_rectangle breakageBrian Paul
2008-04-14define #extension GL_ARB_texture_rectangleDavid Flynn
2008-04-03rewrite some of the mat*mat, mat*vec intrinsicsBrian
Also, remove obsolete matrix codegen code.
2008-03-14init tmpNode to zerosBrian
2008-03-14mesa: fix emit_clamp() so that we don't use an output register as temporaryBrian
IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary register for the intermediate value so we don't inadvertantly use an output register (which are write-only on some GPUs).
2008-01-31regenerate glsl library functionsRoland Scheidegger
2008-01-31fix w component of glsl vec4 asinRoland Scheidegger
2007-12-04Fix gl_FrontFacing compilation problemBrian
2007-11-30Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesajoukj
2007-11-27set fp->UsesKill when emitting OPCODE_KILBrian
2007-11-23Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on ↵Brian
variable array indexes.
2007-10-31Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesaJouk
2007-10-26Merge branch '965-glsl'Zou Nan hai
Conflicts: src/mesa/drivers/dri/i965/brw_sf.h src/mesa/drivers/dri/i965/intel_context.c
2007-10-24add to gitBrian