summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-20rewrite more __postIncr functionsBrian
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-19Rewrite normalize(vec3/vec4) to use one less register.Brian
2007-01-19report error message when something failsBrian
2007-01-19print error msg when there's a problemBrian
2007-01-19remove stray tabBrian
2007-01-19Implement fragment discard/kill.Brian
2007-01-19change while-loop to create new scope for loop body, per specBrian
2007-01-18Implement constant sharing so that 4 float constants can share a singleBrian
float[4] register slot.
2007-01-18_mesa_add_unnamed_constant() now tries to re-use constants already inBrian
the parameter list.
2007-01-18Reimplement code for swizzling so that expressions like (p+q).x for vectors ↵Brian
p and q works correctly.
2007-01-18rewrite a bunch of assignment operators (like +=)Brian
2007-01-18remove swizzle param from new_var()Brian
2007-01-17rewrite additional matrix-related functions to reduce register needsBrian
2007-01-17rewrite mat4 * mat4 operator to use fewer tempsBrian
2007-01-17do bounds check in _slang_push_var_table(), added commentBrian
2007-01-17rewrite matrix constructorsBrian
2007-01-17handle var size > 4 in _slang_pop_var_table()Brian
2007-01-17Rewrite a bunch of constructors. It's now important that the firstBrian
constructor for any given type be the one that takes the most parameters as this is the constructor that'll be used when there's no perfect match to the caller's arguments. See the _slang_adapt_call() function for details.
2007-01-17_slang_gen_function_call_name() now tries to adapt function calls (expandBrian
vectors, insert casts) when a perfect match isn't found.
2007-01-17New _slang_adapt_call() function.Brian
This is used to modify function calls (when possible) to make the arguments map to the function parameters. This includes "unrolling" vector types and doing casts. Example: vec2 v2 = vec2(1.2, 3.4) ivec3 iv = ivec3(false, v2); Is converted into: ivec3 iv = ivec3(int(false), int(v2[0]), int(v2[1]))
2007-01-17code clean-up, re-org. Added IR_F_TO_I support.Brian
2007-01-17added IR_F_TO_I, update commentsBrian
2007-01-17Added OPCODE_INT to convert 4 floats to 4 ints.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-16fix typoBrian
2007-01-16when automatically binding vertex attributes, start with attrib 1, not 0Brian
2007-01-16 remove dead codeBrian
2007-01-16commentsBrian
2007-01-16implement logical or, xor, notBrian
2007-01-16some additional vector constructorsBrian
2007-01-16fix _slang_gen_subscript() for the case when a simple vector is accessed as ↵Brian
an array: convert index to a swizzle/writemask
2007-01-15Reimplement the post-increment/decrement functions.Brian
Instead of defining functions with an extra dummy parameter to distinguish from the pre-incr/decr functions, just use new function names: __postIncr and __postDecr.
2007-01-15Implement the ++var and --var operators, improve some constructors.Brian
2007-01-15added vec3 constructor codeBrian
2007-01-15added IR_ELEMENTBrian
2007-01-15checkpoint: ++, -- and && operatorsBrian
2007-01-15Redo the way array indexes are handled. Resolve storage location at code ↵Brian
emit time, not codegen time.
2007-01-15remove old globalsBrian
2007-01-15commentsBrian
2007-01-15Move some global vars into slang_assemble_ctx.Brian
2007-01-15fix the subassig, mulassign and divassign casesBrian
2007-01-15clean-up slang_allocate_storage()Brian
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-13slang_variable_scope now stores array of pointers to slang_variables.Brian
2007-01-13added another vec4 constructor, updated += operatorBrian
2007-01-11Fix a problem with inlined "return" statements. Make some attempt to free ↵Brian
temporaries.