summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-01-27Improved register allocation: allow four 'float' vars or temporaries to ↵Brian
share a single register. Clean-up needed.
2007-01-25asst fixes, tranpose span->varying array indexesBrian
2007-01-25fixes, clean-ups, transpose span->varying array indexingBrian
2007-01-25new comments, ideasBrian
2007-01-24remove some parenthesisBrian
2007-01-24use FRAG_BIT_TEX()Brian
2007-01-24fix varying interpolationBrian
2007-01-24only setup varying vars that will be usedBrian
2007-01-24added FRAG_BIT_TEX() and FRAG_BIT_VAR() macrosBrian
2007-01-23updated commentBrian
2007-01-23indicate which opcodes are used by Mesa GLSL, updated commentsBrian
2007-01-23fix g++ warnings/errorsBrian
2007-01-21added shading.html linkBrian
2007-01-20Added a page with shading language status, tips, etc.Brian
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-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 debug codeBrian
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-17minor fprintf() changeBrian
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-17add texturing, other optionsBrian
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-16draw a box, press 'a' to animateBrian