summaryrefslogtreecommitdiffstats
path: root/src/glsl/builtins
Commit message (Collapse)AuthorAgeFilesLines
* glsl2/builtins: Add 1.30 bvec variant of the "mix" builtin.Kenneth Graunke2010-07-221-0/+39
|
* glsl2/builtins: Fix 1.30 sign implementation for ints.Kenneth Graunke2010-07-221-1/+1
|
* glsl2/builtins: Fix "mod" builtin to use scalar/vector operations.Kenneth Graunke2010-07-221-24/+3
|
* glsl2: Fix the type of (1.0 - arg2) for mix(gen, gen, float).Eric Anholt2010-07-221-3/+3
| | | | | | | Previously, we'd constant-fold up a value of vec4(1.0 - arg2, 0, 0, 0). Fixes: glsl1-mix(vec4) function
* linker: Link built-in functions instead of including them in every shaderIan Romanick2010-07-212-12/+55
| | | | | | | | This is an invasive set of changes. Each user shader tracks a set of other shaders that contain built-in functions. During compilation, function prototypes are imported from these shaders. During linking, the shaders are linked with these built-in-function shaders just like with any other shader.
* glsl2: Fix asin() implementation.Eric Anholt2010-07-201-61/+69
| | | | | | | | | | I'd flipped around the order of two operations in paren-balancing adventures, and left out the multiply by sign(x) required for negative x. Fixes: glsl1-acos(vec4) function glsl1-asin(vec4) function glsl1-atan(vec4) function
* glsl2: notEqual() produces a boolean value, not the base type of the args.Eric Anholt2010-07-201-18/+18
| | | | | | Fixes: glsl1-vector relational (bvec2 ==,!=) glsl1-vector relational (vec4 !=)
* glsl2: Use Elements macroIan Romanick2010-07-191-2/+5
|
* glsl2: Fix the expression type for atan's pi * sign(y).Eric Anholt2010-07-191-4/+4
| | | | Fixes CorrectFunction.vert.
* glsl2: Make cross() be an expression operation.Eric Anholt2010-07-181-11/+1
| | | | | | ARB_fp, ARB_vp, Mesa IR, and the 965 vertex shader all have instructions for cross. Shaves 12 Mesa instructions off of a 66-instruction shader I have.
* glsl2/builtins: Rework clamp to use scalar/vector combinations.Kenneth Graunke2010-07-142-45/+9
|
* glsl2/builtins: Rework min/max to use scalar/vector combinations.Kenneth Graunke2010-07-144-144/+18
|
* glsl: Fix the setup of refract()'s output for vec3/vec4 and k < 0.0.Eric Anholt2010-07-071-2/+2
| | | | caught by valgrind.
* glsl2/builtins: Use vector ops in the 130 version of "sign."Kenneth Graunke2010-07-021-15/+3
|
* glsl2/builtins: Use vector ops in "smoothstep."Kenneth Graunke2010-07-021-86/+15
|
* glsl2: Add ir_unop_fract as an expression type.Eric Anholt2010-07-011-4/+4
| | | | | Most backends will prefer seeing this to seeing (a - floor(a)), so represent it explicitly.
* glsl2: Don't break sign() down by vector components.Eric Anholt2010-06-301-16/+3
|
* glsl2: Fix reversed value of step().Eric Anholt2010-06-301-19/+19
| | | | It's 0.0 if x < edge, not 1.0. Partial fix for glsl-fs-step.
* glsl2: Fix up the implementation of fract() for vector types.Eric Anholt2010-06-301-15/+3
| | | | There's no need to split each vector component out, just do vector ops.
* glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt2010-06-2482-0/+5132