diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2016-04-02 17:46:58 -0400 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2016-04-14 22:35:06 +0100 |
commit | 55375c14cec624b4ee30edfdb94c22f4eb53f441 (patch) | |
tree | fb731c5885bf6cb73bf4c55b0d7527172a222e2c | |
parent | 760f8ead09452159359595551959d04545b7653e (diff) | |
download | mesa-55375c14cec624b4ee30edfdb94c22f4eb53f441.tar.gz |
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 <imirkin@alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 3610b1466d573983d80e3019e8e01ebb97d67d9c)
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp | 3 |
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 71b72772735..95777b9902e 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp @@ -354,7 +354,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) { |