Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | glsl2: Fix expression type in builtin tan(). | Eric Anholt | 2010-08-02 | 1 | -3/+3 |
| | | | | Fixes glsl-fs-tan-1. | ||||
* | glsl2: Fix the implementation of atan(y, x). | Eric Anholt | 2010-07-30 | 1 | -83/+83 |
| | | | | | | | | | | | | | | | | So many problems here. One is that we can't do the quadrant handling for all the channels at the same time, so we call the float(y, x) version multiple times. I'd also left out the x == 0 handling. Also, the quadrant handling was broken for y == 0, so there was a funny discontinuity on the +x side if you plugged in obvious values to test. I generated the atan(float y, float x) code from a short segment of GLSL and pasted it in by hand. It would be nice to automate that somehow. Fixes: glsl-fs-atan-1 glsl-fs-atan-2 | ||||
* | glsl2: Fix outerProduct builtin. | Kenneth Graunke | 2010-07-28 | 2 | -51/+51 |
| | | | | The type signatures were completely backwards. | ||||
* | glsl2/builtins: Add 1.30 bvec variant of the "mix" builtin. | Kenneth Graunke | 2010-07-22 | 1 | -0/+39 |
| | |||||
* | glsl2/builtins: Fix 1.30 sign implementation for ints. | Kenneth Graunke | 2010-07-22 | 1 | -1/+1 |
| | |||||
* | glsl2/builtins: Fix "mod" builtin to use scalar/vector operations. | Kenneth Graunke | 2010-07-22 | 1 | -24/+3 |
| | |||||
* | glsl2: Fix the type of (1.0 - arg2) for mix(gen, gen, float). | Eric Anholt | 2010-07-22 | 1 | -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 shader | Ian Romanick | 2010-07-21 | 2 | -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 Anholt | 2010-07-20 | 1 | -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 Anholt | 2010-07-20 | 1 | -18/+18 |
| | | | | | | Fixes: glsl1-vector relational (bvec2 ==,!=) glsl1-vector relational (vec4 !=) | ||||
* | glsl2: Use Elements macro | Ian Romanick | 2010-07-19 | 1 | -2/+5 |
| | |||||
* | glsl2: Fix the expression type for atan's pi * sign(y). | Eric Anholt | 2010-07-19 | 1 | -4/+4 |
| | | | | Fixes CorrectFunction.vert. | ||||
* | glsl2: Make cross() be an expression operation. | Eric Anholt | 2010-07-18 | 1 | -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 Graunke | 2010-07-14 | 2 | -45/+9 |
| | |||||
* | glsl2/builtins: Rework min/max to use scalar/vector combinations. | Kenneth Graunke | 2010-07-14 | 4 | -144/+18 |
| | |||||
* | glsl: Fix the setup of refract()'s output for vec3/vec4 and k < 0.0. | Eric Anholt | 2010-07-07 | 1 | -2/+2 |
| | | | | caught by valgrind. | ||||
* | glsl2/builtins: Use vector ops in the 130 version of "sign." | Kenneth Graunke | 2010-07-02 | 1 | -15/+3 |
| | |||||
* | glsl2/builtins: Use vector ops in "smoothstep." | Kenneth Graunke | 2010-07-02 | 1 | -86/+15 |
| | |||||
* | glsl2: Add ir_unop_fract as an expression type. | Eric Anholt | 2010-07-01 | 1 | -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 Anholt | 2010-06-30 | 1 | -16/+3 |
| | |||||
* | glsl2: Fix reversed value of step(). | Eric Anholt | 2010-06-30 | 1 | -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 Anholt | 2010-06-30 | 1 | -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 Anholt | 2010-06-24 | 82 | -0/+5132 |