mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-21 00:00:22 +01:00
r500: Redirect TEX writes to output registers
While R500 fragment program texture instructions appear to support writemasks, they cannot write to the output FIFO immediately, so we need to insert a MOV for these instructions. This fixes piglit's fp-fragment-position and fp-incomplete-tex tests.
This commit is contained in:
parent
85e44fcd51
commit
1bdf5e09a0
1 changed files with 7 additions and 0 deletions
|
|
@ -74,6 +74,13 @@ static GLboolean transform_TEX(
|
|||
inst.DstReg.File = PROGRAM_TEMPORARY;
|
||||
inst.DstReg.Index = radeonFindFreeTemporary(t);
|
||||
inst.DstReg.WriteMask = WRITEMASK_XYZW;
|
||||
} else if (inst.Opcode != OPCODE_KIL && inst.DstReg.File != PROGRAM_TEMPORARY) {
|
||||
int tempreg = radeonFindFreeTemporary(t);
|
||||
|
||||
inst.DstReg.File = PROGRAM_TEMPORARY;
|
||||
inst.DstReg.Index = tempreg;
|
||||
inst.DstReg.WriteMask = WRITEMASK_XYZW;
|
||||
destredirect = GL_TRUE;
|
||||
}
|
||||
|
||||
tgt = radeonAppendInstructions(t->Program, 1);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue