| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This was triggered by the previous bug, but is a separate problem
in the general sense.
|
|
|
|
|
|
|
| |
According to both GLSL 1.20 and 4.0, these are a struct with one field
called "sceneColor".
Fixes a crash on loading in FlightGear.
|
|
|
|
|
|
|
| |
If we hit the linear blit path, we'd come up with a pitch of 0, then
divide by zero.
Fixes vbo-subdata-zero, made for bug #28931 (warsow).
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function was apparently missing from the display list dispatch
table, causing the generic no-op function to be called instead. To make
matters worse, the no-op function is indistinguishable from a successful
call to GetUniformLocation. GL specifies that GetUniformLocation is
executed immediately when compiling display lists.
Fixes fdo bug 29622.
Signed-off-by: Nick Bowler <[email protected]>
|
| |
|
|
|
|
|
|
| |
These sources compile to nothing when FEATURE_ES is not defined and thus
were overlooked. Note that api_exec_es[12].c are still missing on the
list. They should be added when they can be generated on the fly.
|
|
|
|
| |
Note that GLES headers use GL_APIENTRY, not GLAPIENTRY.
|
|
|
|
|
| |
mfeatures.h defines ASSERT_NO_FEATURE to ASSERT, which is defined in
compiler.h. Header files using the macro should include compiler.h.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Currently Gallium internals always use PIPE_TEXTURE_2D and normalized
coordinates to access textures.
However, PIPE_TEXTURE_2D is not always supported for NPOT textures,
and PIPE_TEXTURE_RECT requires unnormalized coordinates.
Hence, this change adds support for both kinds of normalization.
|
|
|
|
|
|
|
| |
Searched for them with:
git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D'
Behavior hasn't been changed.
|
|
|
|
| |
format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
|
| |
|
| |
|
|
|
|
|
| |
Otherwise, we might end up with the if stack pointing at the wrong
place. Fixes GPU hang with glsl-vs-if-loop.
|
|
|
|
|
|
|
| |
Fixes glsl-vs-if-nested (70.0 is not <= 70.000648 thanks to the
swizzle bits getting set). Some safety checks are added to make sure
this doesn't happen again as we increase the usage of immediate values
in program generation.
|
| |
|
| |
|
|
|
|
| |
This might happen if we manage to trigger the right linker errors.
|
| |
|
|
|
|
|
|
| |
Hooray, we can valgrind again without adding suppressions. This also
adds an interface for use by an implementation of
glReleaseShaderCompiler().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
There is no explicit predefined macro to distinguish between OpenSolaris
and Solaris. This patch assumes that the difference is in the compilers.
OpenSolaris uses GCC and not the Sun Studio compiler. Assume that the
availability of fpclassify is due to GCC.
This patch was not tested on Solaris. It would break the build on
Solaris with GCC if GCC on Solaris does not have fpclassify.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Otherwise, with repeated program recompile, we never free the results
of the previous compile.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
I didn't expect that this would really work, but it turns out there
are shaders in the wild that do it.
Fixes: (with swrast)
glsl-fs-main-return
glsl-vs-main-return
|
|
|
|
|
| |
We'll need to use the HALT instruction to do this right, like returns
from other functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These binops are the vector-to-bool comparisons, not vec-to-bvec. We
likely want both operations avilable as expression, since 915 and 965
FS naturally does the vector version, while 965 VS can also naturally
do the scalar version. However, we can save that until later.
Fixes:
glsl-fs-vec4-operator-equal.shader_test
glsl-fs-vec4-operator-notequal.shader_test
glsl-vs-vec4-operator-equal.shader_test
glsl-vs-vec4-operator-notequal.shader_test
|
|
|
|
| |
Fixes glsl-fs-sign and many of the tests of trig builtins.
|
|
|
|
|
| |
Fixes glsl-unused-varying and many others, since we produce an output
reg read any time gl_FragColor is written inside an if statement.
|
|
|
|
| |
Fixes glsl-fs-dot-vec2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we have glsl2 with if flattening in place, most shaders will
just work. Remaining failing shaders will mostly be due to loop
unrolling (in progress), some possible if flattening failures in
inlining functions (planning on fixing), and the register/instruction
count limits.
While the GLSL and GLSL-ES specs say that shaders shouldn't fail to
compile/link due to register/instruction limits, in practice we're not
the first vendor to expose GLSL on hardware with these limitations.
The benefit to application developers of providing a better language
for GPU programming is greater than the pain of having to handle
instruction limits (which they had to for ARB_fp on this hardware
anyway)
|
|
|
|
| |
with glsl2, reads from outputs are legal
|
|
|
|
|
|
| |
In one optimization pass, register files may have been messed therefore
merging instructions which use the same index in two different register
files.
|
|
|
|
| |
Fixes glsl-vs-dot-vec2.
|
|
|
|
|
| |
This will make extracting source to produce minimal testcases for
shader compile issues easier.
|
| |
|
|
|
|
| |
needed to add cpp rules and includes properly for es1/es2
|
|
|
|
|
|
|
|
| |
This saves an extra message reg move in the program, though I'm not
clear on whether it will have any performance impact other than cache
footprint. It will also fix those math calls on Sandybridge, where
the brw_eu_emit.c brw_math() support relies on the implied move being
used.
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
src/mesa/program/prog_optimize.c
|