summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_ir.h
AgeCommit message (Collapse)Author
2007-03-08Added IR_SLE and IR_SLT for <= and < operations.Brian
Using IR_SGE and IR_SGT with transposed args doesn't work since the __asm calls don't do argument matching by name, but by position. This fixes the broken lessThan() and lessThanEqual() functions.
2007-03-08IR_CJUMP0/1 no longer used/neededBrian
2007-02-23Replace slang_ir_node::Target w/ Field. Remove Comment field. Clean-up.Brian
2007-02-23Re-implement branching with slang_labels.Brian
This eliminates the NOP instructions that had been used as placeholders for branch targets. Also, fix "return" statement bug.
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-06replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOPBrian
2007-02-06redo IR_IF node, removing IR_ELSE, IR_ENDIFBrian
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-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-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-31New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with ↵Brian
instruction saturate-write option. Not finished yet.
2007-01-28noise functionsBrian
2007-01-28implement mix() with LRP instructionBrian
2007-01-27Clean-up of var/temp allocation function parameters.Brian
2007-01-20Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.Brian
2007-01-19Implement do/while loops. Replace IR_CJUMP with IR_CJUMP0 and IR_CJUMP1 soBrian
we can either jump on zero, or non-zero predicate.
2007-01-19Implement fragment discard/kill.Brian
2007-01-18Reimplement code for swizzling so that expressions like (p+q).x for vectors ↵Brian
p and q works correctly.
2007-01-17added IR_F_TO_I, update commentsBrian
2007-01-15Redo the way array indexes are handled. Resolve storage location at code ↵Brian
emit time, not codegen time.
2007-01-13Rework code related to temp register allocation, both for user variablesBrian
and expression temporarires. Much better register utilization now. Lots of other fixes. The OpenGL GLSL "orange book" brick shader demo works now.
2007-01-09Implement shadow samplers and dFdx(), dFdy() code generation.Brian
2007-01-08Implement projective texture sampling, 3D textures. Disable some debug output.Brian
2007-01-05Checkpoint glsl compiler work: sampler uniforms now implemented, linked ↵Brian
properly.
2007-01-04initial code to get texture sampling limping alongBrian
2006-12-22fix typosBrian
2006-12-21added IR_NEG for negationBrian
2006-12-20New IR_COND node for evaluating conditional expressions (for if/while/for).Brian
2006-12-15start implementing relational operatorsBrian
2006-12-13Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly ↵Brian
instructions.