diff options
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index d7844d73816..c92acc996c4 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -1570,6 +1570,11 @@ bool Source::scanInstruction(const struct tgsi_full_instruction *inst) if (insn.dstCount()) { Instruction::DstRegister dst = insn.getDst(0); + if (insn.getOpcode() == TGSI_OPCODE_STORE && + dst.getFile() != TGSI_FILE_MEMORY) { + info->io.globalAccess |= 0x2; + } + if (dst.getFile() == TGSI_FILE_OUTPUT) { if (dst.isIndirect(0)) for (unsigned i = 0; i < info->numOutputs; ++i) @@ -1587,10 +1592,6 @@ bool Source::scanInstruction(const struct tgsi_full_instruction *inst) if (isEdgeFlagPassthrough(insn)) info->io.edgeFlagIn = insn.getSrc(0).getIndex(0); } else - if (dst.getFile() != TGSI_FILE_MEMORY && - insn.getOpcode() == TGSI_OPCODE_STORE) { - info->io.globalAccess |= 0x2; - } else if (dst.getFile() == TGSI_FILE_TEMPORARY) { if (dst.isIndirect(0)) indirectTempArrays.insert(dst.getArrayId()); |