summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_compile_operation.h
AgeCommit message (Collapse)Author
2008-12-11mesa: glsl clean-upsBrian Paul
2008-11-24mesa: added support for GLSL 1.20 array.length() methodBrian Paul
This is the only method supported in GLSL 1.20 so we take a few short-cuts.
2008-07-29mesa: fix some function inlining bugsBrian Paul
Need to add local vars of original function to the new scope's variable list (though the DECLs were already present). In slang_operation_copy() call slang_replace_scope() for SLANG_OPER_BLOCK_NEW_SCOPE opers.
2007-07-26fix-up inlined/non-inlined function inconsistenciesBrian
2007-03-26Checkpoint: implementing true CAL/RET instructions for subroutine calls.Brian
Also, found/fixed a code generation regression: the emit_swizzle() function was always returning NULL. This caused emit_move() to miss its chance at peephole optimization.
2007-03-26Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling.Brian
2007-03-08Rework matrix-related code.Brian
GLSL matrices are stored in column-major order while GL_ARB_vertex/fragment_program use row-major. So, need to use STATE_MATRIX_TRANSPOSE for built-in matrices. Unfortunately, this means that the expression M * V isn't very efficient since we need to extract the rows out of M. And that's the typical expression for vertex transformation: gl_ModelViewProjectionMatrix * gl_Position. Solve this inefficiency by looking for M*V expressions and replacing them with V*Transpose(M). Also, add support for GLSL 1.20's MatrixTranspose, Inverse and InverseTranspose matrices.
2007-03-07s/equal/EQUAL/, fix bugs in logical or/and code.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-16change all enum tokens to uppercaseBrian
2007-02-03Add literal_size field to slang_operation.Brian
Used to track the number of components in a float/int/bool literal. Helps with some typechecking things. Fixes problems with calls such as "distance(v2, vec2(1.0, 2.0))"
2007-02-03remove unused slang_operation fieldsBrian
2007-02-02s/slang_assembly_typeinfo/slang_typeinfo/Brian
2006-12-15Lots of assorted changes.Brian
Implement assignment/move for types larger than 4 floats. Fix codegen bug for "return expr" in inlined functions. More clean-up of storage allocation code (slang_resolve_storage).
2006-12-13Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly ↵Brian
instructions.
2006-11-28indent, comments, etcBrian Paul
2006-11-23clean-up, commentsBrian Paul
2006-11-22indentBrian Paul
2006-11-15Comments for operations.Brian Paul
2006-04-18Remove carriage-return chars *ONLY*.Michal Krol
2006-02-13Get it running for ARB_vertex_shader.Michal Krol
Add experimental print functions to builtin library. Some functionality missing: - automatic arrays; - general constructors; - local variable initialization; - texture sampling and noise; - semantic error checking; - function prototypes.
2006-01-30Split slang_compile.c into several smaller files - it was just too big.Michal Krol
Minor fixes and cosmetic changes.