Skip to content

Commit 2180824

Browse files
Implement some missing shader opcodes
Implements TBUFFER_STORE_FORMAT_XYZW, IMAGE_SAMPLE_CD, and IMAGE_GATHER4_C_LZ. These are seen in shadps4-emu#496.
1 parent 4e0dc91 commit 2180824

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/shader_recompiler/frontend/translate/vector_memory.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ void Translator::EmitVectorMemory(const GcnInst& inst) {
1818
case Opcode::IMAGE_SAMPLE_B:
1919
case Opcode::IMAGE_SAMPLE_C_LZ_O:
2020
case Opcode::IMAGE_SAMPLE_D:
21+
case Opcode::IMAGE_SAMPLE_CD:
2122
return IMAGE_SAMPLE(inst);
22-
case Opcode::IMAGE_GATHER4_C:
2323
case Opcode::IMAGE_GATHER4_LZ:
24+
case Opcode::IMAGE_GATHER4_C:
25+
case Opcode::IMAGE_GATHER4_C_LZ:
2426
case Opcode::IMAGE_GATHER4_LZ_O:
2527
return IMAGE_GATHER(inst);
2628
case Opcode::IMAGE_ATOMIC_ADD:
@@ -98,6 +100,8 @@ void Translator::EmitVectorMemory(const GcnInst& inst) {
98100
return BUFFER_STORE(2, true, inst);
99101
case Opcode::TBUFFER_STORE_FORMAT_XYZ:
100102
return BUFFER_STORE(3, true, inst);
103+
case Opcode::TBUFFER_STORE_FORMAT_XYZW:
104+
return BUFFER_STORE(4, true, inst);
101105

102106
case Opcode::BUFFER_STORE_DWORD:
103107
return BUFFER_STORE(1, false, inst);

0 commit comments

Comments
 (0)