summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/library/slang_common_builtin_gc.h
AgeCommit message (Collapse)Author
2009-12-12slang: Delete a file that is now autogenerated.Michal Krol
This file has been modified in master and removed in feature branch. This gave a merge conflict I couldn't resolve by removing and git adding it to index.
2009-09-29glsl: regenerated fileBrian Paul
2009-03-10glsl: fix typo: s/vec4_tex1d_proj/vec4_tex_1d_proj/Brian Paul
This regression came from commit c0b59420eec5ffdf22a5919d38851c3620b97c09.
2009-02-20glsl: use new IR opcodes for TEX instructions with shadow comparisonBrian Paul
Such TEX instructions will have the TexShadow flag set. The gl_program::ShadowSamplers field is now set in the linker. We missed that before.
2009-02-20glsl: rename GLSL texture assembly instructions to be more legibleBrian Paul
2008-12-30mesa: allow variable indexing into the predefined uniform variable arraysBrian Paul
This allows code such as "vec4 a = gl_LightSource[i].ambient;" to work. When a built-in uniform array is indexed with a variable index we need to "unroll" the whole array into the parameter list (aka constant buffer) because we don't know which elements may be accessed at compile-time. In the case of the gl_LightSource array of size [8], we emit 64 state references into the parameter array (8 elements times 8 vec4s per gl_LightSourceParameters struct). Previously, we only allowed constant-indexed references to uniform arrays (such as gl_LightSource[2].position) which resulted in a single state reference being added to the parameter array, not 64. We still optimize this case. Users should be aware that using "gl_LightSource[i].ambient" in their shaders is a bit expensive since state validation will involve updating all 64 light source entries in the parameter list.
2008-12-15mesa: bump glsl grammar revisionBrian Paul
And update some copyrights.
2008-12-11mesa: checkpoint commit of GLSL 1.20 array syntax.Brian Paul
This allows things like float[3] x = float[3](1., 2., 3.); Parsing and AST construction now. Codegen not working yet.
2008-11-24mesa: support for GLSL 1.20 array typesBrian Paul
This allows syntax like "float[8] foo, bar;"
2008-11-13mesa: remove unused/obsolete __NormalMatrixTranspose matrixBrian Paul
2008-11-07mesa: add support for 'centroid' qualifier in GLSL 1.20Brian Paul
2008-11-07mesa: add support for 'invariant' keyword for GLSL 1.20Brian Paul
2008-10-31mesa: fix some bugs with precision qualifier parsingBrian Paul
2008-08-25mesa: glsl: regenerated fileBrian Paul
2008-08-16mesa: import latest GLSL code from gallium-0.1 branchBrian Paul
2008-07-17mesa: regenerated fileBrian Paul
2008-07-16mesa: regenerated fileBrian Paul
2008-07-02mesa: regeneratedBrian Paul
2008-07-02mesa: regenerated filesBrian Paul
2008-01-31regenerate glsl library functionsRoland Scheidegger
2007-05-10regeneratedBrian
2007-05-01regeneratedBrian
2007-04-27asin(), acos(), atan() just return 0.5 for now to avoid crashing. Fix someday.Brian
2007-04-17regeneratedBrian
2007-04-14implement shadow2DRect functionsBrian
2007-04-11regeneratedBrian
2007-03-12Implement GL_ARB_texture_rectangle supportBrian
This includes the sampler2DRect and sampler2DRectShadow types and the texture2DRect(), texture2DRectProj(), etc. built-in functions.
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-02-03minor tweaks to distance() funcsBrian
2007-01-31New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with ↵Brian
instruction saturate-write option. Not finished yet.
2007-01-28noise functionsBrian
2007-01-28implement mix() with LRP instructionBrian
2007-01-19Rewrite normalize(vec3/vec4) to use one less register.Brian
2007-01-08implement biased texture functionsBrian
2007-01-08update texture1D functionsBrian
2007-01-08Implement projective texture sampling, 3D textures. Disable some debug output.Brian
2007-01-05Checkpoint glsl compiler work: sampler uniforms now implemented, linked ↵Brian
properly.
2007-01-04initial code to get texture sampling limping alongBrian
2006-12-13Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes.Brian
2006-08-02Add vec4 extension.Michal Krol
2006-04-18Remove carriage-return chars *ONLY*.Michal Krol
2006-03-21GLSL fixes:Michal Krol
- generate error on NULL pointers in glShaderSourceARB; - reinstall program object, if current, in glLinkProgramARB; - vertex and fragment shaders are optional in program object; - floor asm was wrongly computed for x86 back-end; - allow for (void) idiom in function prototypes; - all fixed-state uniforms are updated; - local variable initializers are working; - implement texture* and shadow* functions for vertex processor; - generate error if too many arguments in general constructor; - trim unused data in general constructor; - struct r-value field select was badly relocated; Changes: - add derived state gl_fog_attrib::_Scale; - add derived state gl_light::_CosCutoffNeg;
2006-03-14More GLSL code:Michal Krol
- add texture sampling support; - fix assembly codegen bugs;
2006-02-21More GLSL code:Michal Krol
- uniforms (only GetLocation, Uniform1f and Uniform4fv for now for demos); - fix bugs and optimize array size handling; - 2D texture sampling (needs Enable(TEXTURE_2D) to work); - decrease built-in library assembly size by 30%.
2006-02-18More GLSL code.Michal Krol
- general constructors allowed; - implement noise functions (from Stefan Gustavson - thanks!) - cosmetic stuff.
2006-02-13More glsl code.Michal Krol
2006-01-16remove slang_*_gc.h files;Michal Krol
rename slang_*_gc_bin.h files to slang_*_gc.h ones; store built-in library code in a precompiled form only;
2005-04-13cosmetic changes;Michal Krol
fix syntax errors;