summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2007-02-06Add support for CN700 chipset in miniglxJakob Bornecrantz
2007-02-05minor formatting changesBrian
2007-02-05set UseHighLevelInstructions = false for nowBrian
2007-02-05Initial implementation of high-level flow-control instructions.Brian
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.
2007-02-05indentation for program instructions (if/else, loops)Brian
2007-02-05fix issues when using mixed-mode pos-invariant vp and ff tnl (bug #9856)Roland Scheidegger
ARB_vp requires vertex transformation to be invariant to fixed function tnl if the position_invariant option is used. So the same function needs to be used, otherwise z-fighting artifacts may happen with applications which rely on the results being really the same due to precision issues when dealing with floating point values (may not be a problem when using a non-optimizing compiler strictly following IEEE rules).
2007-02-05Initial support of loop and subroutine instructions.Brian
New high-level flow-control instructions, both at IR level and GPU instructions for looping and subroutines.
2007-02-05Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesaBrian
2007-02-05fix mem leakPanagiotis Papadakos
2007-02-05Merge SWvertex texcoord and varying fields into attrib[] array field.Brian
Fragment texcoords and varying code is now unified in the point/line/triangle rasterization code. In the future, merge color, fog, etc. attribs.
2007-02-06nouveau: OUT_RINGp expects the size in dwords, not bytes.Ben Skeggs
This fixes the *actual* bug that the previous commit was supposed to fix..
2007-02-05fix mem leaksPanagiotis Papadakos
2007-02-06nouveau: fix a small bug in nv10 swtclBen Skeggs
2007-02-06nouveau: new bufferobj code.Ben Skeggs
The old code suffered from a number of issues, the most severe being that with the Mesa VBO merge even swtcl used the driver's bufferobj interface. On most VBO types (or non-AGP cards) the buffer ended up in vram, and killed swtcl performance greatly. All bufferobj's start in system memory now, until they get referenced as a "real" VBO. The other big change is that only potentially "damaged" areas are uploaded/downloaded to/from the hardware.
2007-02-05break if we removed driver from Drivers list in driDestroyDisplayPanagiotis Papadakos
Else we read memory we just released, in for statement.
2007-02-04nouveau: nv10: add init for unknown 0x120Patrice Mandin
2007-02-04nouveau: fix nv04 and nv10 swtcl, more work on nv04 state.Stephane Marchesin
2007-02-03Add literal_size field to slang_operation.Brian
Used to track the number of components in a float/int/bool literal. Helps with some typechecking things. Fixes problems with calls such as "distance(v2, vec2(1.0, 2.0))"
2007-02-03minor tweaks to distance() funcsBrian
2007-02-03remove unused slang_operation fieldsBrian
2007-02-03nouveau: forgot function declarationPatrice Mandin
2007-02-03nouveau: nv50: use nv50 statePatrice Mandin
2007-02-03shading language texture demo/testBrian
2007-02-03added FLUSH_VERTICES() in _mesa_use_program()Brian
2007-02-03added texdemo1Brian
2007-02-03Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.Brian
This fixes a segfault in the texgen code that can occur after we've disabled a vertex program.
2007-02-03Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.Brian
This fixes a segfault in the texgen code that can occur after we've disabled a vertex program.
2007-02-03Merge branch 'origin'Michel Dänzer
2007-02-03Fall back to software rasterization if r300_translate_fragment_shader() fails.Michel Dänzer
Aborting immediately is a bad idea with AIGLX.
2007-02-03Remove unused r200 files from r300 driver directory.Michel Dänzer
2007-02-03r300CreateContext: Really initialize r300->initialMaxAnisotropy.Michel Dänzer
2007-02-03nouveau: fix viewport clipping initializationPatrice Mandin
2007-02-03nouveau: use color pitch as depth pitch if depth disabledPatrice Mandin