summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader
Commit message (Collapse)AuthorAgeFilesLines
* shader_api: Fix bounds checking of glUniform and glUniformMatrixNicolai Hähnle2009-10-071-9/+22
| | | | | Signed-off-by: Nicolai Hähnle <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* prog_parameter: Document the fact that Size may be > 4Nicolai Hähnle2009-10-071-1/+7
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* mesa: fix mem leaksBrian Paul2009-10-011-0/+4
|
* glsl: fix mem leakBrian Paul2009-10-011-0/+1
|
* mesa: Return -FLT_MAX instead of 0 for LG2(0).Vinson Lee2009-10-011-1/+1
| | | | | lim x->0 log(x) = -inf so -FLT_MAX is a better approximation than 0 for LG2(0).
* glsl: regenerated fileBrian Paul2009-09-291-49/+57
|
* glsl: rewrite sqrt(x) intrinsic to handle x=0Brian Paul2009-09-291-34/+42
| | | | | | Since sqrt() is basically implemented in terms of RSQ/RCP we'll do a divide by zero if x=0 and wind up with unpredictable results. Now use CMP instruction to test for x<=0 and return zero in that case.
* glsl: add support for CMP instructionBrian Paul2009-09-294-0/+4
|
* mesa: move declaration before codeVinson Lee2009-09-251-2/+3
|
* i965: Emit zero initialization for NV VP temporaries as required.Eric Anholt2009-09-243-0/+49
| | | | | | | This is similar to what r300 does inside the driver, but I've added it as a generic option since it seems most hardware will want it. Fixes piglit nv-init-zero-reg.vpfp and nv-init-zero-addr.vpfp.
* mesa: Initialize NV_vertex_program fields for the parameter lists and such.Eric Anholt2009-09-243-0/+55
| | | | This helps let drivers treat NV_vp like ARB_vp.
* mesa: added commentBrian Paul2009-09-241-0/+1
|
* Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul2009-09-241-6/+1
|\
| * mesa: don't bias LOD in shader interpreter; do it in swrastBrian Paul2009-09-231-6/+1
| |
* | glsl: init var to silence warningBrian Paul2009-09-241-1/+1
| |
* | glsl: fix missing initializers warningBrian Paul2009-09-241-2/+2
| |
* | r300: Fix handling of NV_vertex_program parametersNicolai Hähnle2009-09-211-0/+1
| | | | | | | | | | | | | | The handling is a bit inefficient, unfortunately, but I don't want to make any intrusive changes for Mesa 7.6. Signed-off-by: Nicolai Hähnle <[email protected]>
* | Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul2009-09-152-0/+43
|\|
| * glsl: added some link debug code (disabled)Brian Paul2009-09-141-0/+15
| |
| * glsl: remove extra #version directives from concatenated shader sourcesBrian Paul2009-09-141-0/+28
| | | | | | | | | | | | | | | | When we concatenate shaders to do our form of poor-man linking, if there's multiple #version directives, preprocessing fails. This change disables the extra #version directives by changing the first two chars to //. This should help with some Wine issues such as bug 23946.
* | ARB prog: replace 'unsigned' with 'gl_state_index'Brian Paul2009-09-045-195/+195
| | | | | | | | Fixes compilation warnings with MSVC.
* | ARB prog: rename POINT, SIZE to POINT_TOK, SIZE_TOKBrian Paul2009-09-045-37/+23
| | | | | | | | | | Fixes symbol collisions with typedefs in Microsoft headers. Perhaps we should prefix/suffix all the lexer tokens to avoid this.
* | ARB prog parser: Fix handling of stateOptModMatNumIan Romanick2009-09-012-203/+203
| | | | | | | | | | | | The optional array index should clearly be enclosed in square brackets. This helps the oglconform test vp_binding.c get a bit farther, but it still fails.
* | mesa: debug printf for KILBrian Paul2009-08-311-0/+5
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-08-271-8/+8
|\|
| * mesa: direct program debug output to stderr instead of stdoutmarvin242009-08-271-9/+9
| |
* | mesa: move decls before codeVinson Lee2009-08-271-2/+4
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-08-261-4/+15
|\|
| * glsl: signal that the program needs to be re-translated when samplers changeBrian Paul2009-08-261-4/+15
| |
* | glsl: asst. clean-ups in set_program_uniform()Brian Paul2009-08-261-14/+7
| | | | | | | | | | Remove redunant type check for samplers (assert instead). Move some local vars. Update comments.
* | mesa: var renaming, new assertionBrian Paul2009-08-261-4/+5
| |
* | mesa: additional instruction field size assertionsBrian Paul2009-08-261-0/+6
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-08-261-3/+7
|\|
| * glsl: fix bug in sampler array indexingBrian Paul2009-08-261-3/+7
| | | | | | | | | | | | | | | | | | Need to add the 'offset' parameter when indexing the parameter array. Before, if we were setting arrays of samplers, we were actually only setting the 0th sampler's value. Because of how progs/glsl/samplers.c is constructed, this wasn't showing up as a failure in the samplers_array output.
| * ARB prog: Set error instead of falling through with incorrect valueBrian Paul2009-08-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If a fragment program only parameter was queried of a vertex program (e.g., GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB) no error would be set and a random value would be returned. This caused 'glxinfo -l' to show the same values for GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB, GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB as for GL_MAX_PROGRAM_ENV_PARAMETERS_ARB. This is confusing and incorrect. (cherry picked from master, commit 4bccd693a72a0b42dffc849034263a68e779ca91)
| * glsl: Silence gcc uninitialized variable warning.Vinson Lee2009-08-241-1/+1
| |
* | glsl: update a texture/sampler commentBrian Paul2009-08-251-1/+1
| |
* | glsl: implement shader sampler validationBrian Paul2009-08-252-11/+109
| | | | | | | | | | | | Shader validation should fail if there are two samplers of different types which reference the same texture unit. For example, if a cubemap sampler and a 2D sampler both reference texture unit 0, that's invalid.
* | mesa: print some program fields in binary tooBrian Paul2009-08-251-2/+29
| |
* | ARB prog: Set error instead of falling through with incorrect valueIan Romanick2009-08-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | If a fragment program only parameter was queried of a vertex program (e.g., GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB) no error would be set and a random value would be returned. This caused 'glxinfo -l' to show the same values for GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB, GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB as for GL_MAX_PROGRAM_ENV_PARAMETERS_ARB. This is confusing and incorrect.
* | glsl: Silence gcc uninitialized variable warning.Vinson Lee2009-08-241-1/+1
| |
* | ARB prog parser: Regenerate parser from previous commitIan Romanick2009-08-241-6/+6
| |
* | ARB prog parser: use correct context limitsBrian Paul2009-08-241-6/+6
| |
* | mesa: _mesa_layout_parameters() returns a boolean valueBrian Paul2009-08-242-5/+10
| |
* | ARB prog lexer: Fix lexer to eat both DOS and Unix line endingsIan Romanick2009-08-232-304/+308
| |
* | ARB prog parser: include imports.h to kill some compiler warningsLuo Jinghua2009-08-221-0/+1
| |
* | ARB prog parser: Revert part of previous change to constant parsingIan Romanick2009-08-202-16/+16
| | | | | | | | | | | | The commit "ARP prog parser: Implement the spec, not what makes sense" broke the parsing of scalar constants. This commit reverts that part of that commit. Now vp_swizzle.c passes.
* | Merge branch 'master' into asm-shader-rework-1Ian Romanick2009-08-1810-135/+276
|\ \ | | | | | | | | | | | | Conflicts: src/mesa/shader/arbprogparse.c
| * | mesa: also pass the GPU program to _mesa_append_uniforms_to_file()Brian Paul2009-08-142-3/+5
| | | | | | | | | | | | We want the post-link program at this points.
| * | Merge branch 'mesa_7_5_branch'Brian Paul2009-08-141-2/+2
| |\|