summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-04-02 17:46:58 -0400
committerEmil Velikov <[email protected]>2016-04-04 12:41:39 +0100
commite8b521f8241b18c684b2955b75242e9d6db252a6 (patch)
treeabcbb75c5892d559d5efad7a04fcd6fd1043d81a /src
parent2c7214bc03b0a0b5ac4256d871dce5527b069726 (diff)
nv50/ir: we can't load local memory directly into an output
This fixes piglit tests like tests/spec/glsl-1.10/execution/variable-indexing/vs-output-array-float-index-wr.shader_test and related ones. Signed-off-by: Ilia Mirkin <[email protected]> Cc: "11.1 11.2" <[email protected]> (cherry picked from commit 3610b1466d573983d80e3019e8e01ebb97d67d9c)
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
index f56528b2f6a..d672b7ab1ff 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
@@ -372,7 +372,8 @@ NV50LegalizeSSA::propagateWriteToOutput(Instruction *st)
return;
for (int s = 0; di->srcExists(s); ++s)
- if (di->src(s).getFile() == FILE_IMMEDIATE)
+ if (di->src(s).getFile() == FILE_IMMEDIATE ||
+ di->src(s).getFile() == FILE_MEMORY_LOCAL)
return;
if (prog->getType() == Program::TYPE_GEOMETRY) {