summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/slang
Commit message (Collapse)AuthorAgeFilesLines
* Remove obsolete files.Brian2007-02-023-1669/+0
|
* Remove all dependencies on the old slang interpreter/executor.Brian2007-02-0211-52/+17
|
* reindentBrian2007-02-021-154/+175
|
* _slang_evaluate_int() no longer usedBrian2007-02-022-58/+0
|
* use _slang_simplify() to evaluate array sizesBrian2007-02-021-2/+6
|
* Move guts of slang_lookup_constant() into a new function in slang_simplify.cBrian2007-02-023-34/+73
|
* replace abort() with _mesa_problem()Brian2007-02-021-2/+5
|
* try to simplify variable initializersBrian2007-02-021-3/+1
|
* Fix logic in _slang_simplify(): vec2() constructor case wasn't getting used.Brian2007-02-013-23/+47
|
* disable all x86 code, broken and will eventually be removedBrian2007-01-318-16/+17
|
* Overhaul handling of writemasks/swizzling. This fixes two problem cases:Brian2007-01-314-95/+195
| | | | | vec2 v; v.x = v.y = 1.0; // chained assignment vec4 v; v.zx = vec2(a,b); // swizzled writemask
* New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with ↵Brian2007-01-315-284/+356
| | | | instruction saturate-write option. Not finished yet.
* allow fragment-only and vertex-only programsBrian2007-01-311-35/+76
|
* noise functionsBrian2007-01-285-139/+157
|
* combine emit_unop(), emit_binop(), emit_triop() into emit_arith()Brian2007-01-281-109/+52
|
* implement mix() with LRP instructionBrian2007-01-286-294/+335
|
* Lots of vartable clean-ups, fixes. Report an error message when we run outBrian2007-01-285-96/+168
| | | | of registers, rather than crash.
* minor clean-upsBrian2007-01-281-8/+1
|
* Clean-up of var/temp allocation function parameters.Brian2007-01-274-74/+67
|
* Improved register allocation: allow four 'float' vars or temporaries to ↵Brian2007-01-273-64/+137
| | | | share a single register. Clean-up needed.
* fix g++ warnings/errorsBrian2007-01-233-30/+35
|
* Add a simple mechanism for annotating instructions for easier debugging.Brian2007-01-201-4/+148
|
* optimization: emit MAD instructions when possibleBrian2007-01-201-10/+50
|
* remove unused swizzle parameter to -storage_to_src_reg()Brian2007-01-201-18/+9
|
* Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.Brian2007-01-203-1/+92
|
* Reimplement && and || to do short-circuit evaluation.Brian2007-01-204-117/+159
| | | | Improved shader error handling.
* rewrite more __postIncr functionsBrian2007-01-202-105/+137
|
* Implement do/while loops. Replace IR_CJUMP with IR_CJUMP0 and IR_CJUMP1 soBrian2007-01-193-16/+79
| | | | we can either jump on zero, or non-zero predicate.
* Rewrite normalize(vec3/vec4) to use one less register.Brian2007-01-192-335/+346
|
* print error msg when there's a problemBrian2007-01-191-1/+4
|
* remove stray tabBrian2007-01-191-1/+1
|
* Implement fragment discard/kill.Brian2007-01-193-1/+24
|
* change while-loop to create new scope for loop body, per specBrian2007-01-192-3/+3
|
* Implement constant sharing so that 4 float constants can share a singleBrian2007-01-182-12/+19
| | | | float[4] register slot.
* Reimplement code for swizzling so that expressions like (p+q).x for vectors ↵Brian2007-01-184-91/+129
| | | | p and q works correctly.
* rewrite a bunch of assignment operators (like +=)Brian2007-01-182-488/+495
|
* remove swizzle param from new_var()Brian2007-01-181-5/+5
|
* rewrite additional matrix-related functions to reduce register needsBrian2007-01-172-468/+463
|
* rewrite mat4 * mat4 operator to use fewer tempsBrian2007-01-172-383/+430
|
* do bounds check in _slang_push_var_table(), added commentBrian2007-01-171-1/+3
|
* rewrite matrix constructorsBrian2007-01-172-787/+928
|
* handle var size > 4 in _slang_pop_var_table()Brian2007-01-171-3/+7
|
* Rewrite a bunch of constructors. It's now important that the firstBrian2007-01-172-713/+801
| | | | | | | 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.
* _slang_gen_function_call_name() now tries to adapt function calls (expandBrian2007-01-172-12/+44
| | | | vectors, insert casts) when a perfect match isn't found.
* New _slang_adapt_call() function.Brian2007-01-172-0/+154
| | | | | | | | | | | | 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]))
* code clean-up, re-org. Added IR_F_TO_I support.Brian2007-01-171-90/+112
|
* added IR_F_TO_I, update commentsBrian2007-01-171-3/+4
|
* Fix/clean-up a number of things related to variable/temporary allocation.Brian2007-01-173-29/+54
|
* Implement codegen for the selection operator ( b ? x : y )Brian2007-01-162-19/+104
|
* fix typoBrian2007-01-161-1/+1
|