summaryrefslogtreecommitdiff
path: root/src/mesa/shader/prog_print.c
AgeCommit message (Collapse)Author
2008-07-24mesa: Prefix main includes with dir to avoid conflicts.José Fonseca
Some of the headers in src/mesa/main have pretty common names which easily conflict with third-party code, e.g. config.h
2008-07-18mesa: glsl: various writemask/swizzle improvements and clean-upsBrian Paul
2008-07-15mesa: Silence compiler warnings on Windows.Michal Krol
2008-07-02mesa: added _mesa_print_swizzle() debugging helperBrian Paul
2008-06-12almost forgot - RelAddr is a boolean so use it hereZack Rusin
2008-06-12glsl: implement variable array indexesZack Rusin
2008-05-18print vertex.attrib[n] (from master)Brian Paul
2008-01-16use NEGATE_X/Y/Z/W tokensBrian
2007-10-30special-case KIL/KIL_NVBrian
2007-10-30check for NULL ptr in _mesa_print_parameter_list()Brian
2007-10-26Re-implement GLSL texture sampler variables.Brian
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
2007-03-28Get rid of BRK0, BRK1, CONT0, CONT1 instructions.Brian
2007-03-28expose _mesa_condcode_string(), fix some printingBrian
2007-03-27fix some printing issues related to subroutinesBrian
2007-03-26s/SUB/BGNSUB/Brian
2007-03-26special case RETBrian
2007-03-23consolidate some codeBrian
2007-03-23Add the ability to generate programs that doesn't use condition codes.Brian
ctx->Shader.EmitCondCodes determines if we use condition codes. If not, IF statement uses first operand's X component as the condition. Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle the common cases of conditional break/continue.
2007-03-22print conditional writemask, if enabledBrian
2007-02-23re-expose _mesa_print_alu_instruction()Brian
2007-02-22expose _mesa_swizzle_string()Brian
2007-02-22fix negative indentation problemBrian
2007-02-17s/PROG_PRINT_ARB/PROG_PRINT_DEBUG/Brian
2007-02-17Lots of changes to prog_print.c code.Brian
Mainly, allow printing programs in either ARB, NV or "debug" formats.
2007-02-07s/%f/%g/Brian
2007-02-06Implement CONT, improve BRK.Brian
IR_LOOP's BranchNode ptr is the head of a linked list of CONT and BRK nodes. After emitting loop, walk over the linked list, filling in the CONT/BRK instruction's BranchTarget field (location of the ENDLOOP instruction, or one past).
2007-02-05BRK instruction's BranchTarget field now used for efficiently breaking out ↵Brian
of loops. BRK's BranchTarget field actually points to the top of the loop, not the bottom, since we don't know the later's location yet. In the interpreter, basically do an indirect jump to update the PC.
2007-02-05Use IR node's BranchNode field for IF/ELSE/ENDIF instructions.Brian
This allows us to back-patch the IF/ELSE instruction's BranchTarget field to point to the location of the ELSE/ENDIF instructions. No longer have to search for ELSE/ENDIF in the interpreter. Also makes it trivial to translate IF/ELSE instructions into conditional/unconditional BRA instructions.
2007-02-05minor formatting changesBrian
2007-02-05indentation for program instructions (if/else, loops)Brian
2007-01-31Overhaul handling of writemasks/swizzling. This fixes two problem cases:Brian
vec2 v; v.x = v.y = 1.0; // chained assignment vec4 v; v.zx = vec2(a,b); // swizzled writemask
2007-01-20Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.Brian
2007-01-05added PROGRAM_SAMPLERBrian
2007-01-04minor formatting fixBrian
2006-12-20added _mesa_print_parameter_list()Brian
2006-12-18Check for inst->CondUpdate, print .C suffix.Brian
2006-12-16print BRA instructionsBrian
2006-12-15fix double-printing of comment infoBrian
2006-12-14remove unneded includesBrian
2006-12-14Move some code from prog_print.c to prog_instruction.cBrian
2006-12-14Split the program.[ch] files into several new files.Brian