On 10/09/2011 12:50 PM, Bryan Cain wrote:
I don't think there's any reason we can't eliminate a dead instruction
when the writemask is zero. I do wonder, though, why this patch
actually makes a difference. There's an "if (!inst->dead_mask ||
!inst->dst.writemask)" three lines before the code vi
I tested with a shader that generates an ARL instruction and found
inst->dst is:
{file = PROGRAM_ADDRESS, index = 0, writemask = 1, cond_mask = 8, type
= 2, reladdr = 0x0}
in the code in question. I don't think there's any way that the dest
register's writemask could be set to zero.
Oth
Correct.
The thing was: even though we have an addressing register in TGSI
(e.g. tgsi_full_dst|src_register::Indirect), everybody except nv50 and
partially svga doesn't use it now. They expect the indirect register
file is always TGSI_FILE_ADDRESS and the index is 0, making the
destination of ARL
What does it do if there's no destination register? In any case, I
don't think glsl_to_tgsi emits any ARLs of that form, so it shouldn't be
a problem.
Bryan
On 10/07/2011 01:06 PM, Marek Olšák wrote:
> I think ARL is allowed to have no destination register, right? In that
> case, there should be
I don't think there's any reason we can't eliminate a dead instruction
when the writemask is zero. I do wonder, though, why this patch
actually makes a difference. There's an "if (!inst->dead_mask ||
!inst->dst.writemask)" three lines before the code visible in the patch
that makes it not kill th
I think ARL is allowed to have no destination register, right? In that
case, there should be a special case not to eliminate ARLs.
Marek
On Fri, Oct 7, 2011 at 5:40 PM, Brian Paul wrote:
> From: Brian Paul
>
> This fixes a bug where we'd wind up emitting an invalid instruction like
> MOVE R[0].
From: Brian Paul
This fixes a bug where we'd wind up emitting an invalid instruction like
MOVE R[0]., R[1]; - note the empty/zero writemask. If we don't write to
any dest register channels, cull the instruction.
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp |8 +++-
1 files changed, 7