From: Ilia Mirkin Date: Sat, 2 Apr 2016 21:46:58 +0000 (-0400) Subject: nv50/ir: we can't load local memory directly into an output X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3610b1466d573983d80e3019e8e01ebb97d67d9c;p=mesa.git 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 Cc: "11.1 11.2" --- 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 02c4f1a4ca8..36ab837f6e2 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) {