Age | Commit message (Collapse) | Author |
|
Before, we were going off of a couple of known (hopeful) matches
between internalFormats and the cpp of the read buffer. Instead, we
can now just look at the gl_format of the two to see if they match.
We should avoid bad blits that might have been possible before, but
also allow different internalFormats to work without having to
enumerate each one.
|
|
The blit that follows appears in the command stream so it's serialized
with previous rendering. Any queued vertices in the tnl layer were
already flushed up in mesa/main/.
|
|
Not fixing a particular bug, just noticed by code inspection.
|
|
This matches how we did the math instructions pre-gen6, though it
applies to non-math as well.
Fixes vp1-LIT test 2 (degenerate case: 0 ^ 0 -> 1)
|
|
The program should be disassembled after it's uploaded
|
|
|
|
This is still awful, but my ability to care about reworking the old
backend so we can just get a temporary value into a POW is awfully low
since the new backend does this all sensibly.
Fixes:
fp1-LIT test 1
fp1-LIT test 3 (case x < 0)
fp1-POW test (exponentiation)
fp-lit-mask
|
|
Fixes glsl-bug-22603.
|
|
Fixes fp-arb-fragment-coord-conventions-none
|
|
RNDD isn't one of the instructions that can do conversion from
execution type to destination type.
Fixes glsl-vs-arrays-3.
|
|
This requires shuffling the driconf XML macros around, since they use
true and false tokens expecting them to not get expanded to anything.
|
|
If a source operand has a non-native swizzle (e.g. the KIL instruction
cannot have a swizzle other than .xyzw), the lowering pass uses one or more
MOV instructions to move the operand to an intermediate temporary with
native swizzles.
This commit fixes that the presubtract information was lost during
the lowering.
NOTE: This is a candidate for both the 7.9 and 7.10 branches.
|
|
This fixes broken rendering of trees in ETQW. The trees still disappear
for an unknown reason when they are close.
Broken since:
2ff9d4474bdf5f05852ad4963d0b597d20743678
r300/compiler: make lowering passes possibly use up to two less temps
NOTE: This is a candidate for the 7.10 branch.
|
|
There are exceptions to the table for depth texturing or rendering to
not-quite-supported formats thanks to the non-orthogonal component
selection for surface formats, but it's still a lot simpler.
|
|
One less place to forget to put your new MESA_FORMAT support in.
|
|
|
|
This starts spantmp2.h down the path of using MESA_FORMAT_* for
specifying the format instead of the crazy GL format/type combo.
|
|
VS places color attributes together so that SF unit can fetch the right
attribute according to object orientation. This fixes light issue in
mesa demo geartrain, projtex.
|
|
|
|
|
|
Fixes depth-tex-modes-rg.
|
|
Fixes texture-rg.
|
|
Fixes this GCC warning.
brw_fs.cpp: In function 'brw_reg brw_reg_from_fs_reg(fs_reg*)':
brw_fs.cpp:3255: warning: 'brw_reg' may be used uninitialized in this function
|
|
|
|
This is said to be required in the spec, even when you aren't doing writes.
|
|
This doesn't actually fix border color on Ironlake, but it appears to
be a requirement, and gen6 needs it too.
|
|
|
|
Last minute change for gen6 with 0 used params dropped the multiply.
|
|
This eases the gen6 implementation, which can only handle up to 32
registers of constants, while likely not penalizing real apps using
reladdr since all of those I've seen also end up hitting the pull
constant buffer. On gen6, the constant map means that simple NV VPs
fit under the 32-reg limit and now succeed. Fixes around 10 testcases.
|
|
I forgot to bump this when I bumped the tex levels.
|
|
|
|
Fixes:
fp-kil
fp-generic/kil-swizzle.
|
|
Fixes:
fbo-drawbuffers2-blend
fbo-drawbuffers2-colormask
|
|
This will let us get EXT_draw_buffers2 blending and colormasking working.
|
|
Fixes glean/maskedClear
|
|
|
|
CMP may now use two less temps, other non-native instructions may end up
using one less temp, except for SIN/COS/SCS, which I am leaving unchanged
for now.
This may reduce register pressure inside loops, because the register
allocator doesn't do a very good job there.
|
|
This bug can only be triggered if you put deadcode before native rewrite.
|
|
|
|
|
|
|
|
The same check is already in a later pass (translate_vertex_program).
|
|
Fixes glean/blendFunc
|
|
Fixes:
glean/glsl1-! (not) operator (1, fail)
glean/glsl1-! (not) operator (1, pass)
|
|
With the change of extended math from having the arguments moved into
mrfs and handed off through message passing to being directly hooked
up to the EU, it looks like the piece for doing source modifiers
(negate and abs) was left out.
Fixes:
fog-modes
glean/fp1-ARB_fog_exp test
glean/fp1-ARB_fog_exp2 test
glean/fp1-Computed fog exp test
glean/fp1-Computed fog exp2 test
ext_fog_coord-modes
|
|
This can significantly ease thinking about the asm.
|
|
Previously the code only handled scalars and vectors. This new code
is modeled somewhat after similar code in ir_to_mesa.
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
gen6 builtin RSQ apparently clamps negative values to 0 instead of
returning the RSQ of the absolute value like ARB_fragment_program
desires and pre-gen6 apparently does.
Fixes:
glean/fp1-RSQ test 2 (reciprocal square root of negative value)
glean/vp1-RSQ test 2 (reciprocal square root of negative value)
|
|
We get saturate as an argument to brw_math() instead of as compile
state, since that's how the pre-gen6 send instructions work. Fixes
fp-ex2-sat.
|
|
This is the push constant buffer, not the pull constants.
|