Age | Commit message (Collapse) | Author |
|
Single loops work, but nested loops do not.
|
|
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
To convert RGB -> SRGB format.
|
|
Since there's no SSE instruction for this case, fall through to the
generic shuffle code.
Fixes bug fd.o 29468.
|
|
|
|
|
|
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
See:
http://bugs.freedesktop.org/29404
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
It's rather easy to produce two constant multiplies separated by other
multiplies while writing a BRDF shader, and non-obvious enough in the
resulting codegen that I didn't catch it in my demo code until just
recently. Cuts 3 965 instructions from my demo (<1%), and 20 from
glsl-fs-raytrace (1.3%).
|
|
All the current HW backends transform subtract to adding the negation,
so I haven't bothered peepholing it back out in Mesa IR. This allows
some subtract of subtract to get removed in ir_algebraic.
|
|
Whereas constant folding evaluates constant expressions at rvalue
nodes, constant propagation tracks constant components of vectors
across execution to replace (possibly swizzled) variable dereferences
with constant values, triggering possible constant folding or reduced
variable liveness.
|
|
|
|
This lets us track copies across basic block boundaries. The loop
doesn't get a filled out list of available copies into it yet, though.
glsl-fs-raytrace drops from 585 to 535 Mesa IR instructions out of the
compiler, and it appears that Yo Frankie's largest shaders decrease in
Mesa IR count by about 10% as well.
|
|
|
|
Some signatures were being generated with the wrong function name.
|
|
This can be supported on r600 without using the endian swapper, and is a
better fit for (typical) uploads using GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV
anyway.
|
|
|
|
It was being incorrectly added as gl_DepthRangeParameters, which is the
type name, not the variable name.
|
|
|
|
Currently only ir_binop_equal and ir_binop_nequal are supported, but
soon all of the relational operators will be added. Making this
change now will simplify those commits.
|
|
|
|
It didn't exist yet.
|
|
This fixes the assert added in LLVM 2.8:
assert(getType()->isIntOrIntVectorTy() &&
"Tried to create an integer operation on a non-integer type!")
But it also fixes some subtle bugs, since we should've been doing this
since LLVM 2.6 anyway.
Includes a modified patch from steckdenis@yahoo.fr for the
FNeg instructions in emit_fetch(); thanks for pointing those out.
http://bugs.freedesktop.org/29404
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
It's bound to be useful elsewhere.
|
|
to GLSL spec (and Win7 ATI drivers do complain about that)
|
|
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
|
|
|
|
The shader caps need additional corrections.
(based on a patch from netkas at Phoronix)
|
|
seems it got lost in commit 0d383547
have no earlier radeons to test, but npot mipmaps were not supported there?
|
|
from the tests i couldn't find any new driver faults
|
|
ofs is in dwords, so need to shift it for registers.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
glsl-fs-raytrace goes from 620 Mesa IR instructions out of the
compiler to 585.
|
|
In this case, we were incorrectly prioritizing PIPE_TRANSFER_DONTBLOCK over
PIPE_TRANSFER_UNSYNCHRONIZED.
This can lead to failure in the Mesa VBO draw paths that end up specifying
both, but don't expect map to fail (in particular, the problem manifested as
a leak of buffer objects in teapot with other changes).
|
|
Ooops, it wasn't supposed to be there.
|
|
|
|
See:
http://bugs.freedesktop.org/29407
|
|
It sometimes works, sometimes not. I guess we have the zmask offsets wrong.
|
|
|
|
This makes it compatible with the modified DRM interface in drm-radeon-testing.
Also, now you need to set RADEON_HYPERZ=1 to be able to use hyperz.
It's not bug-free yet.
|
|
|
|
|
|
Two integers were being operated on as
a vector of floats in draw_llvm_generate().
This bug got uncovered by fixing this bug:
http://bugs.freedesktop.org/29407
|
|
Need to add a test for multi-hiz/zmask db in a single context.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This is another follow-up to commit
f4511c4835879090ce7e6afe3ac26b98fb91899a.
|
|
This is a follow-up patch to commit
f4511c4835879090ce7e6afe3ac26b98fb91899a.
Files that include tnl_dd/t_dd_dmatmp.h now need to also include
m_xform.h as t_context.h no longer includes it.
|
|
t_context.h
Remove m_matrix.h and m_xform.h.
t_vb_program.c
Include m_xform.h.
t_vb_render.c
Include m_xform.h.
|