summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_compile_operation.c
AgeCommit message (Collapse)Author
2009-06-26glsl: fix up scoping for parent/children in slang_operation_copy()Brian Paul
This will need more testing, but no regressions seen so far.
2009-06-26glsl: added slang_operation_free_children()Brian Paul
2009-06-26glsl: added slang_operation_insert_child()Brian Paul
2009-06-26glsl: don't allocate 0-length children array in slang_operation_copy()Brian Paul
2009-06-26glsl: added slang_operation_add_children() and slang_oper_child() helpersBrian Paul
2008-12-12mesa: glsl compiler function renamingBrian Paul
2008-12-11mesa: glsl clean-upsBrian Paul
2008-11-01mesa: do scope replacement for while/for loops tooBrian Paul
This fixes a function inlining bug involving vars declared inside loop bodies.
2008-10-31mesa: do scope replacement for variable initializers tooBrian Paul
2008-08-16mesa: import latest GLSL code from gallium-0.1 branchBrian Paul
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-04-21Remove all the USE_MEMPOOL debug code.Brian
2007-04-21Use new memory pool allocator. Lots of debug code still in place...Brian
2007-04-21new varnames in slang_operation_insert()Brian
2007-04-21fix memleak in slang_operation_insert()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-26re-enable var scope destruct in slang_operation_destruct()Brian
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-01-04temporary disable some memory deallocations to work around a memory ↵Brian
corruption bug
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-05-16Cleanup code. Change constructor prototype.Michal Krol
2006-04-18Remove carriage-return chars *ONLY*.Michal Krol
2006-02-27More GLSL code:Michal Krol
- add x86 code generator; - add full support for uniforms in ARB_shader_objects; - add assembly instruction: global_addr; - reorganize #includes; - built-in uniforms accessed by index, rather than by name; - add some entries to x86sse rtasm; - add configurations to VC6 projects: 'Release x86' and 'Debug x86'; - #define SLANG_X86 active only on VC6 x86 builds; - introduce code export table for a shader; - remove GNU license from the noise library;
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.