| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
When x==0, the result was wrong. Fixes piglit glsl-fs-atan-1.shader_test
|
|
|
|
|
|
|
| |
When releasing the builtin functions, we were just freeing the memory,
not telling the builtin function loader that we had freed its memory.
I wish I had done ARB_ES2_compatibility so we had regression testing
of this path. Fixes segfault on changing video options in nexuiz.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of 1.20, variable names, function names, and structure type names all
share a single namespace, and should conflict with one another in the
same scope, or hide each other in nested scopes.
However, in 1.10, variables and functions can share the same name in the
same scope. Structure types, however, conflict with/hide both.
Fixes piglit tests redeclaration-06.vert, redeclaration-11.vert,
redeclaration-19.vert, and struct-05.vert.
|
|
|
|
| |
Make glsl include only main/core.h from core mesa.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each language version/extension and target now has a "profile" containing
all of the available builtin function prototypes. These are written in
GLSL, and come directly out of the GLSL spec (except for expanding genType).
A new builtins/ir/ folder contains the hand-written IR for each builtin,
regardless of what version includes it. Only those definitions that have
prototypes in the profile will be included.
The autogenerated IR for texture builtins is no longer written to disk,
so there's no longer any confusion as to what's hand-written or
generated.
All scripts are now in python instead of perl.
|
| |
|
| |
|
|
|
|
| |
Fixes glsl-fs-tan-1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
The type signatures were completely backwards.
|
| |
|
|
|
|
|
|
|
| |
Previously, we'd constant-fold up a value of vec4(1.0 - arg2, 0, 0, 0).
Fixes:
glsl1-mix(vec4) function
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Fixes:
glsl1-vector relational (bvec2 ==,!=)
glsl1-vector relational (vec4 !=)
|
| |
|
|
|
|
| |
Fixes CorrectFunction.vert.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
caught by valgrind.
|
| |
|
|
|
|
|
| |
Most backends will prefer seeing this to seeing (a - floor(a)), so
represent it explicitly.
|
| |
|
|
|
|
| |
It's 0.0 if x < edge, not 1.0. Partial fix for glsl-fs-step.
|
|
|
|
| |
There's no need to split each vector component out, just do vector ops.
|
|
|