summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/library/slang_core.gc
AgeCommit message (Collapse)Author
2009-01-08glsl: fix typo in the vec2 += operator functionBrian Paul
2009-01-08glsl: fix broken +=, -=, *=, /= operatorsBrian Paul
These functions need to return the final computed value. Now expressions such as a = (b += c) work properly. Also, no need to use __asm intrinsics in these functions. The resulting code is the same when using ordinary arithmetic operators and is more legible.
2008-08-16mesa: import latest GLSL code from gallium-0.1 branchBrian Paul
2008-07-29mesa: glsl: re-order some constructorsBrian Paul
2008-07-29mesa: fix some GLSL /= int operatorsBrian Paul
plus add a few more special constructors to improve code quality.
2008-07-15mesa: fix some broken /= operatorsBrian Paul
2008-07-15mesa: fix some broken bool, bvec2, bvec3, bvec4 constructorsBrian Paul
2008-07-03mesa: additional vec4 constructorBrian Paul
2008-07-02mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctorsBrian Paul
2008-04-03rewrite some of the mat*mat, mat*vec intrinsicsBrian
Also, remove obsolete matrix codegen code.
2007-07-03added vec2(vec4) constructor, bug 11404Brian
2007-03-28Handle logical NOT and XOR without library functions. Results in much ↵Brian
tighter code.
2007-03-13get rid of float_multiply, float_add, float_divideBrian
2007-03-08added missing bvec2/3/4 constructorsBrian
2007-03-08Update lessThan(), lessThanEqual() functions, improve some matrix constructors.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-07fix broken __postDecr()Brian
2007-03-06more integer arithmetic updatesBrian
2007-03-06fix some int arithmetic problemsBrian
2007-01-20Reimplement && and || to do short-circuit evaluation.Brian
Improved shader error handling.
2007-01-20rewrite more __postIncr functionsBrian
2007-01-18rewrite a bunch of assignment operators (like +=)Brian
2007-01-17rewrite additional matrix-related functions to reduce register needsBrian
2007-01-17rewrite mat4 * mat4 operator to use fewer tempsBrian
2007-01-17rewrite matrix constructorsBrian
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-16commentsBrian
2007-01-16implement logical or, xor, notBrian
2007-01-16some additional vector constructorsBrian
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-13added another vec4 constructor, updated += operatorBrian
2007-01-11new vec3 constructor, replace float_add w/ vec4_addBrian
2007-01-04Fix some incorrect GL error values. Reorganize _mesa_compile_shader() code.Brian
2006-12-21chmod a-xBrian
2006-12-21checkpoint: pre/post incr/decr operatorsBrian
2006-12-21checkpoint: rewrite vec/mat productsBrian
2006-12-21checkpoint: matrix/float, unary negation rewriteBrian
2006-12-21checkpoint: ivec/int and mat/mat operationsBrian
2006-12-21checkpoint: more basic math rewrittingBrian
2006-12-20checkpoint: re-org assignment operator functionsBrian
2006-12-20checkpoint: more basic math operator re-orgBrian
2006-12-20Checkpoing: re-organization of basic arithmetic functions.Brian
2006-12-20Uniform matrix support.Brian
Implement _mesa_uniform_matrix() Support for program parameters/uniforms with more than 4 elements. Store 4x4 matrices in column-major order in registers. Update mat mul built-in functions accordingly.
2006-12-19rewrite +=, -= etc for floatsBrian
2006-12-18commentsBrian
2006-12-15start rewriting the matrix/vector functionsBrian
2006-12-15redo mat4 addition, mat4 constructor from vec4sBrian
2006-12-13Rewrite/simplify most built-in functions to use updated set of __asm ↵Brian
instructions.
2006-05-16Rename print() to printMESA().Michal Krol