summaryrefslogtreecommitdiff
path: root/src/mesa/shader
AgeCommit message (Collapse)Author
2009-10-01Merge branch 'mesa_7_6_branch'Brian Paul
2009-10-01mesa: Return -FLT_MAX instead of 0 for LG2(0).Vinson Lee
lim x->0 log(x) = -inf so -FLT_MAX is a better approximation than 0 for LG2(0).
2009-09-29glsl: regenerated fileBrian Paul
2009-09-29glsl: rewrite sqrt(x) intrinsic to handle x=0Brian Paul
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.
2009-09-29glsl: add support for CMP instructionBrian Paul
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-29mesa: added _mesa_nop_vertex/fragment_program()Brian Paul
For debug/test purposes.
2009-09-25Merge branch 'asm-shader-rework-2'Ian Romanick
Conflicts: src/mesa/shader/program_parse.tab.c
2009-09-25Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_clear.c
2009-09-25mesa: move declaration before codeVinson Lee
2009-09-24mesa: remove: unused gl_vertex_program::TnlData fieldBrian Paul
2009-09-24NV fp lexer: Add UP4B and UP4UB instructions that were previously missingIan Romanick
2009-09-24Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/vbo/vbo_exec_array.c
2009-09-24i965: Emit zero initialization for NV VP temporaries as required.Eric Anholt
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.
2009-09-24mesa: Initialize NV_vertex_program fields for the parameter lists and such.Eric Anholt
This helps let drivers treat NV_vp like ARB_vp.
2009-09-24mesa: added commentBrian Paul
2009-09-24Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/r600/r700_assembler.c src/mesa/drivers/dri/r600/r700_chip.c src/mesa/drivers/dri/r600/r700_render.c src/mesa/drivers/dri/r600/r700_vertprog.c src/mesa/drivers/dri/r600/r700_vertprog.h src/mesa/drivers/dri/radeon/radeon_span.c
2009-09-24Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-24glsl: init var to silence warningBrian Paul
2009-09-24glsl: fix missing initializers warningBrian Paul
2009-09-23mesa: don't bias LOD in shader interpreter; do it in swrastBrian Paul
2009-09-21Merge branch 'mesa_7_6_branch'Nicolai Hähnle
2009-09-21r300: Fix handling of NV_vertex_program parametersNicolai Hähnle
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 <nhaehnle@gmail.com>
2009-09-15Merge branch 'mesa_7_6_branch'Brian Paul
2009-09-15Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-15ARB prog parser: regenerated fileBrian Paul
2009-09-15ARB prog parser: more detailed error message for out of bounds ADDR offsetsBrian Paul
2009-09-14glsl: added some link debug code (disabled)Brian Paul
2009-09-14glsl: remove extra #version directives from concatenated shader sourcesBrian Paul
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.
2009-09-12mesa: remove unused SATURATE_PLUS_MINUS_ONE flagKeith Whitwell
Never set in mesa. Remove from tgsi translation as well.
2009-09-10Merge branch 'master' into asm-shader-rework-2Ian Romanick
Conflicts: src/mesa/shader/lex.yy.c src/mesa/shader/program_parse.tab.c src/mesa/shader/program_parse.tab.h
2009-09-10NV fp parser: Add support for condition codesIan Romanick
Conditional write masks and the condition-code based KIL instruction are all supported. The specific behavior of KIL in the following shader may or may not match the behavior of other implementations: !!ARBfp1.0 TEMP GT; MOVC GT, fragment.texcoord[0]; KIL GT.x; END Should be it interpreted as 'KIL srcReg' or as 'KIL ccTest'? The current parser will interpret it as 'KIL srcReg'.
2009-09-10ARB prog lexer: Add missing #include to silence compile warningIan Romanick
2009-09-10ARB prog parser: Differentiate between used and unused names in the lexerIan Romanick
The lexer will return IDENTIFIER only when the name does not have an associated symbol. Otherwise USED_IDENTIFIER is returned.
2009-09-07mesa: Include <unistd.h> only when one is available.Michal Krol
2009-09-04NV fp parser: Support instruction and TEMP / OUTPUT sizesIan Romanick
Adds support for declaring TEMP and OUTPUT variables as 'LONG' or 'SHORT' precision. The precision specifiers are parsed, but they are currently ignored. Some support for this may be added in the future, but neither Intel hardware nor, as far as I'm aware, Radeon hardware support multiple precisions. Also adds support for instruction precision ('X', 'H', and 'R') suffixes and instruction condition code output ('C') suffix. This results in a fairly major change to the lexer. Instructions are matched with all the possible suffix strings. The suffix string are then carved off by a context (i.e., which program mode and options are set) aware parser that converts the suffixes to bits in prog_instruction. This could have been handled in the same way _SAT was originally handled in the lexer, but it would have resulted in a very large lexer with lots of opportunity for cut-and-paste errors.
2009-09-04ARB prog parser: Add new constructor for asm_instructionIan Romanick
The new constructor copies fields from the prog_instruction that the parser expects the lexer to set.
2009-09-04ARB prog: replace 'unsigned' with 'gl_state_index'Brian Paul
Fixes compilation warnings with MSVC.
2009-09-04ARB prog: rename POINT, SIZE to POINT_TOK, SIZE_TOKBrian Paul
Fixes symbol collisions with typedefs in Microsoft headers. Perhaps we should prefix/suffix all the lexer tokens to avoid this.
2009-09-03NV fp parser: Add support for absolute value operator on instruction operandsIan Romanick
2009-09-03NV fp parser: Support new scalar constant behaviorIan Romanick
ARBfp requires scalar constants have a '.x' suffix, but NVfp_option does not. This shows up with instructions that require a scalar parameter (e.g., COS).
2009-09-01NV fp parser: Parse TXD instructionIan Romanick
2009-09-01ARB prog parser: Fix handling of stateOptModMatNumIan Romanick
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.
2009-08-31mesa: debug printf for KILBrian Paul
2009-08-31NV fp lexer: Add new opcodesIan Romanick
2009-08-31NV fp: Parse 'OPTION NV_fragment_program' in ARB assembly shadersIan Romanick
2009-08-27Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-27mesa: direct program debug output to stderr instead of stdoutmarvin24
2009-08-27mesa: move decls before codeVinson Lee
2009-08-26Merge branch 'mesa_7_5_branch'Brian Paul