Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | consolidate BRA with BRK, CONT | Brian | 2007-02-08 | 1 | -7/+3 |
| | |||||
* | Simplify code with eval_condition(). Implement conditional BRK. | Brian | 2007-02-08 | 1 | -69/+56 |
| | |||||
* | Use IR_LOOP to represent do-while and for-loops. | Brian | 2007-02-07 | 1 | -7/+5 |
| | | | | Also, start moving high vs. low-level instruction selection into slang_emit.c | ||||
* | BRK and CONT work the same | Brian | 2007-02-06 | 1 | -20/+4 |
| | |||||
* | Implement CONT, improve BRK. | Brian | 2007-02-06 | 1 | -0/+6 |
| | | | | | | | 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). | ||||
* | BRK instruction's BranchTarget field now used for efficiently breaking out ↵ | Brian | 2007-02-05 | 1 | -17/+13 |
| | | | | | | | | 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. | ||||
* | Use IR node's BranchNode field for IF/ELSE/ENDIF instructions. | Brian | 2007-02-05 | 1 | -51/+6 |
| | | | | | | | 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. | ||||
* | Initial implementation of high-level flow-control instructions. | Brian | 2007-02-05 | 1 | -6/+32 |
| | | | | | | IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work. Disabled by default though until better tested. Implemented IR_NOT, but needs optimization. | ||||
* | Initial support of loop and subroutine instructions. | Brian | 2007-02-05 | 1 | -0/+13 |
| | | | | | New high-level flow-control instructions, both at IR level and GPU instructions for looping and subroutines. | ||||
* | Merge SWvertex texcoord and varying fields into attrib[] array field. | Brian | 2007-02-05 | 12 | -561/+363 |
| | | | | | Fragment texcoords and varying code is now unified in the point/line/triangle rasterization code. In the future, merge color, fog, etc. attribs. | ||||
* | fix maxInst argument | Brian | 2007-02-02 | 1 | -1/+2 |
| | |||||
* | unroll inner loop of interpolate_varying() | Brian | 2007-02-02 | 1 | -13/+22 |
| | |||||
* | simplify derivative-related code | Brian | 2007-02-02 | 1 | -90/+41 |
| | |||||
* | simplify interpolate_texcoords() | Brian | 2007-02-02 | 1 | -262/+126 |
| | |||||
* | Replace color, z, w, texture interpolants with new generic attrib interpolants. | Brian | 2007-02-02 | 8 | -277/+280 |
| | |||||
* | New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. ↵ | Brian | 2007-02-02 | 8 | -115/+118 |
| | | | | fields. More to come. | ||||
* | get rid of unused span->start field | Brian | 2007-02-02 | 2 | -5/+2 |
| | |||||
* | comments | Brian | 2007-02-01 | 2 | -2/+7 |
| | |||||
* | New SWspanarrays attribs[] array. | Brian | 2007-02-01 | 16 | -171/+140 |
| | | | | | | | Replace texcoord[], varying[], etc. arrays with single attribs[] array, indexed by FRAG_ATTRIB_* values. Eliminates need to copy data into fragment program machine input registers. Will lead to future clean-ups. | ||||
* | move span-related types/tokens into s_span.h | Brian | 2007-02-01 | 2 | -200/+204 |
| | |||||
* | additional assertions, bump up MAX_EXEC | Brian | 2007-02-01 | 1 | -1/+6 |
| | |||||
* | noise functions | Brian | 2007-01-28 | 1 | -0/+45 |
| | |||||
* | asst fixes, tranpose span->varying array indexes | Brian | 2007-01-25 | 1 | -38/+54 |
| | |||||
* | fixes, clean-ups, transpose span->varying array indexing | Brian | 2007-01-25 | 1 | -21/+29 |
| | |||||
* | new comments, ideas | Brian | 2007-01-25 | 1 | -21/+22 |
| | |||||
* | fix varying interpolation | Brian | 2007-01-24 | 1 | -2/+5 |
| | |||||
* | only setup varying vars that will be used | Brian | 2007-01-24 | 2 | -25/+35 |
| | |||||
* | fix g++ warnings/errors | Brian | 2007-01-23 | 1 | -4/+3 |
| | |||||
* | Initial implementation of OPCODE_IF/ELSE/ENDIF instructions. | Brian | 2007-01-20 | 1 | -0/+67 |
| | |||||
* | Added OPCODE_INT to convert 4 floats to 4 ints. | Brian | 2007-01-17 | 1 | -0/+11 |
| | |||||
* | more debug code (disabled) | Brian | 2007-01-09 | 1 | -1/+5 |
| | |||||
* | check if _Current == NULL for TXB | Brian | 2007-01-08 | 1 | -3/+5 |
| | |||||
* | Remove if (tObj) conditional so that texture units without a texture image | Brian | 2007-01-08 | 1 | -5/+6 |
| | | | | return black (0,0,0,1) when sampled. | ||||
* | added INTERP_VARYING code | Brian | 2006-12-21 | 1 | -0/+29 |
| | |||||
* | s/attribute/varying/ | Brian | 2006-12-21 | 2 | -5/+6 |
| | |||||
* | Overhaul of GLSL API functions, dispatching, etc. | Brian | 2006-12-19 | 2 | -2/+2 |
| | |||||
* | Added instruction counter to catch infinite loops (temporary). | Brian | 2006-12-18 | 1 | -1/+11 |
| | |||||
* | fix comment, handle NOP | Brian | 2006-12-16 | 1 | -1/+3 |
| | |||||
* | varying var changes | Brian | 2006-12-15 | 3 | -17/+17 |
| | |||||
* | Renamed s_nvfragprog.[ch] to s_fragprog.[ch] | Brian | 2006-12-15 | 3 | -17/+9 |
| | |||||
* | Renamed s_nvfragprog.[ch] to s_fragprog.[ch], program_instruction.h to ↵ | Brian | 2006-12-15 | 2 | -1729/+0 |
| | | | | prog_instruction.h | ||||
* | Renamed from s_nvfragprog.[ch] | Brian | 2006-12-14 | 2 | -0/+1729 |
| | |||||
* | Updated includes. | Brian | 2006-12-14 | 2 | -2/+4 |
| | |||||
* | Remove include of s_arbshader.h | Brian | 2006-12-14 | 1 | -1/+0 |
| | |||||
* | Retire old GLSL shader code. | Brian | 2006-12-13 | 2 | -162/+0 |
| | |||||
* | Checkpoint for GLSL compiler changes. | Brian | 2006-12-13 | 6 | -61/+76 |
| | | | | | | In brief: Check for enabled fragment program by looking at ctx->FragmentProgram._Current. New code for varying variables. | ||||
* | list header files in sources files (Dan Nicholson) | Brian Paul | 2006-11-21 | 1 | -1/+34 |
| | |||||
* | Initial implementation work for CAL, RET, and BRA instructions for fragment | Brian Paul | 2006-11-16 | 1 | -0/+53 |
| | | | | programs. | ||||
* | Make sure RENDER_FINISH is called on the zero pixel case. Reported by | Keith Whitwell | 2006-11-14 | 1 | -1/+1 |
| | | | | Haihao Xiang. | ||||
* | always load frag prog state params for now (see comments) | Brian Paul | 2006-11-02 | 1 | -0/+5 |
| |