summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-02-16abort upon errors (temporary)Brian
2007-02-16added a commentBrian
2007-02-16Allow int->float argument conversion in _slang_locate_function().Brian
2007-02-16implement IR_I_TO_FBrian
2007-02-14r300: Fix cos & add scs to fragment program.Rune Peterson
So this do : - Fixes COS. - Does range reductions for SIN & COS. - Adds SCS. - removes the optimized version of SIN & COS. - tweaked weight (should help on precision). - fixed a copy paste typo in emit_arith().
2007-02-14test for POT before using sample_2d_linear_repeat()Etienne Clement
2007-02-14fix typo preventing generic arrays from working with ARB_vp (bug #9952)Roland Scheidegger
2007-02-14nouveau: nv10: there are 8 clipping regionsPatrice Mandin
2007-02-14fix stupid bug in the optimized per-vertex fog generation codeRoland Scheidegger
2007-02-14i915tex: Take into account various mapping states when dropping theThomas Hellstrom
batch buffer after a resolution / rotation switch.
2007-02-13remove dead codeBrian
2007-02-12I965: fix a failure on waiting irq.Xiang, Haihao
Wait until getting the right fence if drm/i915 resets the counter.
2007-02-12 fd.o #BZ 9684Zou Nan hai
gcc may cast an overflowed float value to an negative int value on i386, fix it to make sure at least some apps will not crash if it contains wrong normal data.
2007-02-12r300: Add proper support for sin/cos instruction in fragment programRune Peterson
Getting proper SIN and COS wasn't as easy as it appeared. I had to make make some changes to the fragment program code. general FP changes: - support HHH swizzle for vector instructions. - don't copy a source to a temp when it is not XYZW swizzled, but combine the two and have the swizzle resolve any issues. (saves temps/instructions with more elaborate shader code) - fix overflow in cnstv[].
2007-02-10ctx->Point._Size fixRune Peterson
2007-02-09add prog_debug.cBrian
2007-02-09move GL_MESA_program_debug funcs to prog_debug.cBrian
2007-02-09Move experimental GL_MESA_program_debug functions into new file.Brian
2007-02-09comments, etcBrian
2007-02-09re-enable free'ing of IR treesBrian
2007-02-09always init param vars to silence valgrind warningsBrian
2007-02-09optimize per-pixel fog programRoland Scheidegger
use the same internal state as for vertex fog. From the old implemenentation, this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2, plus saves a (constant) parameter. While here, fix the broken (forgotten) swizzling. (untested)
2007-02-09 array overflow fixZou Nan hai
2007-02-08do full swizzled matching in _mesa_lookup_parameter_constant()Brian
2007-02-08Check for constant-valued while/do loop conditions.Brian
Allows us to: 1. avoid generating constant-valued BRK test for while(1).. 2. discard entire loop for while(0). 3. detection infinite loops at compile-time.
2007-02-08optimize conditional breaks/continuesBrian
2007-02-09r200: simplify / unify input map handling for vp and fftnlRoland Scheidegger
Use the same input map handling for fftnl and vertex programs. It doesn't enable any new functionality (should make it easy to support per-vertex materials though), but the code is much cleaner.
2007-02-09optimize generated vertex programs a bitRoland Scheidegger
Use new internal state to avoid per-vertex normalization of static spot direction vector. Use internal state for simpler per-vertex fog computations (MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog). Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while there fix it up (RSQ instead of RCP). All untested...
2007-02-09fix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910)Roland Scheidegger
Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup. The viewport transformation still seems to take some shortcuts, and it still does not seem to work at all...
2007-02-08cont at top of loop, little clean-upsBrian
2007-02-08remove some cruftBrian
2007-02-08fix broken BRA for return stmtsBrian
2007-02-08consolidate BRA with BRK, CONTBrian
2007-02-08change BranchTarget to GLintBrian
2007-02-08Use conditional break in for/do/while loops.Brian
2007-02-08Simplify code with eval_condition(). Implement conditional BRK.Brian
2007-02-07remove old loop break/cont stuffBrian
2007-02-07high vs. low level if/then/else code emitBrian
2007-02-07s/%f/%g/Brian
2007-02-07Remove old functions for generating BRA-based looping.Brian
2007-02-07Use IR_LOOP to represent do-while and for-loops.Brian
Also, start moving high vs. low-level instruction selection into slang_emit.c
2007-02-06BRK and CONT work the sameBrian
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-06replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOPBrian
2007-02-06new_node[0123]() functionsBrian
2007-02-06redo IR_IF node, removing IR_ELSE, IR_ENDIFBrian
2007-02-06nouveau: a couple of NV3x fixesBen Skeggs
2007-02-05additional comments for BranchTargetBrian
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.