Age | Commit message (Collapse) | Author |
|
This conveniently creates a zero value of whatever type you want.
|
|
Fixes:
glsl-arb-fragment-coord-conventions-define
|
|
Fixes:
glsl-arb-fragment-coord-conventions
|
|
The rest cannot be handled until built-in variables (i.e.,
gl_FragCoord) can be redeclared to add qualifiers.
|
|
|
|
Fixes:
glsl1-varying read but not written
glsl1-varying var mismatch
|
|
This fixes an assertion failure in ir_to_mesa, and the varying won't
take up varying space.
|
|
This is now consistent with other usage of flex/bison througout mesa,
(which is that these generated files are added to source control so
that the build system does not require external tools like flex/bison
for non-developers).
|
|
These are generated files where we can do the sane thing, and keep
them out of version control.
|
|
The mesa build environment does not (currently) accept external
dependencies such as flex and bison. The compromise is to commit the
generated output files, (in spite of the pain that comes from having
generated files under version control).
|
|
I simply forgot to add this file when adding the test case originally.
|
|
Fixes:
glsl1-GL state variable reference (diffuse product)
glsl1-GL state variable reference (gl_FrontMaterial.ambient)
glsl1-GL state variable reference (gl_LightSource[0].diffuse)
glsl1-GL state variable reference (point attenuation)
glsl1-GL state variable reference (point size)
glsl1-linear fog
|
|
|
|
Cleans up some of the FINISHMEs in this file.
|
|
The "%expect 0" construct will make bison emit an error if any future
changes to the grammar introduce shift/reduce conflicts, (without also
increasing the number after "%expect").
|
|
Since we have productions to turn "defined FOO" and "defined ( FOO )"
into a conditional_token we don't need to list DEFINED as an operator
as well. Doing so just introduces the shift/reduce ambiguity with no
benefit.
|
|
Fixes:
glsl1-GLSL 1.20 uniform array constructor
|
|
Fixes:
glsl-uniform-out-of-bounds.
|
|
I managed to revert the change from unlinked at some point while
cleaning up the changes. glsl-fs-raytrace-bug27060 drops from 389
instructions to 370.
|
|
If an undeclared variable was dereferenced in an expression that
needed constant expression handling, we would walk off a null ir->var
pointer.
Fixes:
glsl1-TIntermediate::addUnaryMath
|
|
Fixes:
glsl1-GLSL 1.20 array constructor 1
glsl1-GLSL 1.20 array constructor 2
glsl1-GLSL 1.20 array.length()
glsl1-GLSL 1.20 const array constructor 1
glsl1-GLSL 1.20 const array constructor 2
|
|
glsl-fs-raytrace-bug27060 goes from 485 Mesa IR instructions to 389
before Mesa IR optimization.
|
|
If we don't walk into functions, we won't see any usage of variables
in the functions.
|
|
This way, we don't need to pass in a parse state, and the context
doesn't grow with the number of passes through optimization.
|
|
This gets glsl-vs-raytrace, glsl-fs-raytrace running on the new
compiler.
|
|
Otherwise, we end up losing structure names after compile time, and
dumping IR often ends up reporting some other mysterious string.
|
|
MESA_GLSL=nopt now produces believable output for glsl-fs-raytrace.
|
|
|
|
This cleans up the assembly output of almost all the non-logic tests
glsl-algebraic-*. glsl-algebraic-pow-two needs love (basically,
flattening to a temporary and squaring it).
|
|
|
|
|
|
void functions have a type of glsl_type::void_type, not a null type.
|
|
|
|
Fixes:
TPPStreamCompiler::assignOperands
|
|
|
|
Fixes a link-time crash in glsl-vs-cross-3.
|
|
|
|
This pulls in multiple i965 driver fixes which will help ensure better
testing coverage during development, and also gets past the conflicts
of the src/mesa/shader -> src/mesa/program move.
Conflicts:
src/mesa/Makefile
src/mesa/main/shaderapi.c
src/mesa/main/shaderobj.h
|
|
Hardware backends will get angry otherwise.
|
|
|
|
Also fix up comments, so that the difference between the two passes is
clarified.
|
|
|
|
|
|
|
|
|
|
|
|
Several routines directly analyze the grf-to-mrf moves from the Gen
binary code. When it is possible, the mov is removed and the message
register is directly written in the arithmetic instruction
Also redundant mrf-to-grf moves are removed (frequently for example,
when sampling many textures with the same uv)
Code was tested with piglit, warsow and nexuiz on an Ironlake
machine. No regression was found there
Note that the optimizations are *deactivated* on Gen4 and Gen6 since I
did test them properly yet. No reason there are bugs but who knows
The optimizations are currently done in branch free programs *only*.
Considering branches is more complicated and there are actually two
paths: one for branch free programs and one for programs with branches
Also some other optimizations should be done during the emission
itself but considering that some code is shader between vertex shaders
(AOS) and pixel shaders (SOA) and that we may have branches or not, it
is pretty hard to both factorize the code and have one good set of
strategies
|
|
|
|
Depending on __DRI_COPY_SUB_BUFFER doesn't work when we no longer include
dri_interface.h.
https://bugs.freedesktop.org/show_bug.cgi?id=29264
|
|
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
|