summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-05-26 15:40:16 -0300
committerGravatar ameerj2021-07-22 21:51:33 -0400
commitb9c8814ea978d2192522f9c85c07c00280bc1696 (patch)
treeedeba8f4b8f230a68e2b1e96ccad7520e6bc94e5 /src/shader_recompiler/backend
parentglasm: Fix global memory callbacks (diff)
downloadyuzu-b9c8814ea978d2192522f9c85c07c00280bc1696.tar.gz
yuzu-b9c8814ea978d2192522f9c85c07c00280bc1696.tar.xz
yuzu-b9c8814ea978d2192522f9c85c07c00280bc1696.zip
glasm: Implement undef instructions
Diffstat (limited to 'src/shader_recompiler/backend')
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_instructions.h10
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp20
2 files changed, 15 insertions, 15 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
index cc7aa8e20..c24c7a71d 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
@@ -74,11 +74,11 @@ void EmitIsHelperInvocation(EmitContext& ctx, IR::Inst& inst);
74void EmitYDirection(EmitContext& ctx); 74void EmitYDirection(EmitContext& ctx);
75void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset); 75void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset);
76void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value); 76void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value);
77void EmitUndefU1(EmitContext& ctx); 77void EmitUndefU1(EmitContext& ctx, IR::Inst& inst);
78void EmitUndefU8(EmitContext& ctx); 78void EmitUndefU8(EmitContext& ctx, IR::Inst& inst);
79void EmitUndefU16(EmitContext& ctx); 79void EmitUndefU16(EmitContext& ctx, IR::Inst& inst);
80void EmitUndefU32(EmitContext& ctx); 80void EmitUndefU32(EmitContext& ctx, IR::Inst& inst);
81void EmitUndefU64(EmitContext& ctx); 81void EmitUndefU64(EmitContext& ctx, IR::Inst& inst);
82void EmitLoadGlobalU8(EmitContext& ctx, IR::Inst& inst, Register address); 82void EmitLoadGlobalU8(EmitContext& ctx, IR::Inst& inst, Register address);
83void EmitLoadGlobalS8(EmitContext& ctx, IR::Inst& inst, Register address); 83void EmitLoadGlobalS8(EmitContext& ctx, IR::Inst& inst, Register address);
84void EmitLoadGlobalU16(EmitContext& ctx, IR::Inst& inst, Register address); 84void EmitLoadGlobalU16(EmitContext& ctx, IR::Inst& inst, Register address);
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp
index e9d1e0d6b..c76b45b8b 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp
@@ -209,24 +209,24 @@ void EmitYDirection(EmitContext& ctx) {
209 NotImplemented(); 209 NotImplemented();
210} 210}
211 211
212void EmitUndefU1(EmitContext& ctx) { 212void EmitUndefU1(EmitContext& ctx, IR::Inst& inst) {
213 NotImplemented(); 213 ctx.Add("MOV.S {}.x,0;", inst);
214} 214}
215 215
216void EmitUndefU8(EmitContext& ctx) { 216void EmitUndefU8(EmitContext& ctx, IR::Inst& inst) {
217 NotImplemented(); 217 ctx.Add("MOV.S {}.x,0;", inst);
218} 218}
219 219
220void EmitUndefU16(EmitContext& ctx) { 220void EmitUndefU16(EmitContext& ctx, IR::Inst& inst) {
221 NotImplemented(); 221 ctx.Add("MOV.S {}.x,0;", inst);
222} 222}
223 223
224void EmitUndefU32(EmitContext& ctx) { 224void EmitUndefU32(EmitContext& ctx, IR::Inst& inst) {
225 NotImplemented(); 225 ctx.Add("MOV.S {}.x,0;\n", inst);
226} 226}
227 227
228void EmitUndefU64(EmitContext& ctx) { 228void EmitUndefU64(EmitContext& ctx, IR::Inst& inst) {
229 NotImplemented(); 229 ctx.LongAdd("MOV.S64 {}.x,0;", inst);
230} 230}
231 231
232void EmitGetZeroFromOp(EmitContext& ctx) { 232void EmitGetZeroFromOp(EmitContext& ctx) {