summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2019-10-14 02:40:11 -0400
committerIlia Mirkin <[email protected]>2019-10-30 19:13:18 -0400
commit1b9d1e13d8e14c348f6d6c8fab5f31e8768a1371 (patch)
treedae807a673a870e074aaa6c552b48930e145f230 /src/gallium/drivers/nouveau
parent869e32593a9096b845dd6106f8f86e1c41fac968 (diff)
nv50/ir: mark STORE destination inputs as used
Observed an issue when looking at the code generatedy by the image-vertex-attrib-input-output piglit test. Even though the test itself worked fine (due to TIC 0 being used for the image), this needs to be fixed. Signed-off-by: Ilia Mirkin <[email protected]> Cc: [email protected]
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp6
1 files changed, 6 insertions, 0 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 d62d36008e6..8c429026452 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
@@ -1591,6 +1591,12 @@ bool Source::scanInstruction(const struct tgsi_full_instruction *inst)
if (insn.getOpcode() == TGSI_OPCODE_STORE &&
dst.getFile() != TGSI_FILE_MEMORY) {
info->io.globalAccess |= 0x2;
+
+ if (dst.getFile() == TGSI_FILE_INPUT) {
+ // TODO: Handle indirect somehow?
+ const int i = dst.getIndex(0);
+ info->in[i].mask |= 1;
+ }
}
if (dst.getFile() == TGSI_FILE_OUTPUT) {