summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index 18d6541a4d7..64d64b94a12 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -644,6 +644,9 @@ CodeEmitterNV50::emitLOAD(const Instruction *i)
code[1] |= 0x04000000;
emitLoadStoreSizeCS(i->sType);
+
+ if (i->subOp == NV50_IR_SUBOP_LOAD_LOCKED)
+ code[1] |= 0x00800000;
} else {
assert(offset <= (int32_t)(0x1f * typeSizeof(i->sType)));
code[0] = 0x10000001;
@@ -714,6 +717,8 @@ CodeEmitterNV50::emitSTORE(const Instruction *i)
case FILE_MEMORY_SHARED:
code[0] = 0x00000001;
code[1] = 0xe0000000;
+ if (i->subOp == NV50_IR_SUBOP_STORE_UNLOCKED)
+ code[1] |= 0x00800000;
switch (typeSizeof(i->dType)) {
case 1:
code[0] |= offset << 9;