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 d4d8e48b8fc..6b14f7339f7 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp @@ -1299,7 +1299,8 @@ NV50LoweringPreSSA::handleLOAD(Instruction *i) if (prog->getType() == Program::TYPE_COMPUTE) { if (sym->inFile(FILE_MEMORY_SHARED) || - sym->inFile(FILE_MEMORY_GLOBAL)) { + sym->inFile(FILE_MEMORY_BUFFER) || + sym->inFile(FILE_MEMORY_GLOBAL)) { return handleLDST(i); } } @@ -1349,6 +1350,11 @@ NV50LoweringPreSSA::handleLDST(Instruction *i) return true; } + // Buffers just map directly to the different global memory spaces + if (sym->inFile(FILE_MEMORY_BUFFER)) { + sym->reg.file = FILE_MEMORY_GLOBAL; + } + if (sym->inFile(FILE_MEMORY_SHARED)) { if (src.isIndirect(0)) {