summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_emit.c
AgeCommit message (Collapse)Author
2007-02-02fix emit_tex() breakageBrian
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-28combine emit_unop(), emit_binop(), emit_triop() into emit_arith()Brian
2007-01-28implement mix() with LRP instructionBrian
2007-01-28Lots of vartable clean-ups, fixes. Report an error message when we run outBrian
of registers, rather than crash.
2007-01-28minor clean-upsBrian
2007-01-27Clean-up of var/temp allocation function parameters.Brian
2007-01-27Improved register allocation: allow four 'float' vars or temporaries to ↵Brian
share a single register. Clean-up needed.
2007-01-23fix g++ warnings/errorsBrian
2007-01-20Add a simple mechanism for annotating instructions for easier debugging.Brian
2007-01-20optimization: emit MAD instructions when possibleBrian
2007-01-20remove unused swizzle parameter to -storage_to_src_reg()Brian
2007-01-20Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.Brian
2007-01-20Reimplement && and || to do short-circuit evaluation.Brian
Improved shader error handling.
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-18Implement constant sharing so that 4 float constants can share a singleBrian
float[4] register slot.
2007-01-18Reimplement code for swizzling so that expressions like (p+q).x for vectors ↵Brian
p and q works correctly.
2007-01-17code clean-up, re-org. Added IR_F_TO_I support.Brian
2007-01-17Fix/clean-up a number of things related to variable/temporary allocation.Brian
2007-01-16Implement codegen for the selection operator ( b ? x : y )Brian
2007-01-15added IR_ELEMENTBrian
2007-01-15Redo the way array indexes are handled. Resolve storage location at code ↵Brian
emit time, not codegen time.
2007-01-15commentsBrian
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-11Fix a problem with inlined "return" statements. Make some attempt to free ↵Brian
temporaries.
2007-01-10checkpoint: codegen for global vars/constants now workingBrian
2007-01-10assorted code clean-upsBrian
2007-01-09Implement shadow samplers and dFdx(), dFdy() code generation.Brian
2007-01-08implement biased texture functionsBrian
2007-01-08Implement projective texture sampling, 3D textures. Disable some debug output.Brian
2007-01-08Move storage allocation functions from slang_emit.c to slang_codegen.cBrian
2007-01-08checkpoint: more work on variable/storage allocationBrian
2007-01-08Checkpoint: re-org of (global) variable allocation code. More to come...Brian
2007-01-05Checkpoint glsl compiler work: sampler uniforms now implemented, linked ↵Brian
properly.
2007-01-04update TexturesUsed[] in slang_update_inputs_outputs()Brian
2007-01-04compute InputsRead/OutputsWritten with slang_update_inputs_outputs()Brian
2007-01-04move TexturesUsed[] into gl_program since vertex programs/shaders can use ↵Brian
textures nowadays
2007-01-04added texture attribs in slang_find_input()Brian
2007-01-04initial code to get texture sampling limping alongBrian
2006-12-22implement unary +, -Brian
2006-12-21fix typosBrian
2006-12-21added IR_NEG for negationBrian
2006-12-20Uniform matrix support.Brian
Implement _mesa_uniform_matrix() Support for program parameters/uniforms with more than 4 elements. Store 4x4 matrices in column-major order in registers. Update mat mul built-in functions accordingly.
2006-12-20New IR_COND node for evaluating conditional expressions (for if/while/for).Brian
2006-12-18Implement if-conditionals and while loops, added temporary resolve-branches ↵Brian
function in linker.
2006-12-16Initial code for conditional constructs.Brian
2006-12-15start implementing relational operatorsBrian