diff options
| author | 2021-05-26 15:40:16 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:33 -0400 | |
| commit | b9c8814ea978d2192522f9c85c07c00280bc1696 (patch) | |
| tree | edeba8f4b8f230a68e2b1e96ccad7520e6bc94e5 /src/shader_recompiler/backend/glasm | |
| parent | glasm: Fix global memory callbacks (diff) | |
| download | yuzu-b9c8814ea978d2192522f9c85c07c00280bc1696.tar.gz yuzu-b9c8814ea978d2192522f9c85c07c00280bc1696.tar.xz yuzu-b9c8814ea978d2192522f9c85c07c00280bc1696.zip | |
glasm: Implement undef instructions
Diffstat (limited to 'src/shader_recompiler/backend/glasm')
| -rw-r--r-- | src/shader_recompiler/backend/glasm/emit_glasm_instructions.h | 10 | ||||
| -rw-r--r-- | src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp | 20 |
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); | |||
| 74 | void EmitYDirection(EmitContext& ctx); | 74 | void EmitYDirection(EmitContext& ctx); |
| 75 | void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset); | 75 | void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset); |
| 76 | void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value); | 76 | void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value); |
| 77 | void EmitUndefU1(EmitContext& ctx); | 77 | void EmitUndefU1(EmitContext& ctx, IR::Inst& inst); |
| 78 | void EmitUndefU8(EmitContext& ctx); | 78 | void EmitUndefU8(EmitContext& ctx, IR::Inst& inst); |
| 79 | void EmitUndefU16(EmitContext& ctx); | 79 | void EmitUndefU16(EmitContext& ctx, IR::Inst& inst); |
| 80 | void EmitUndefU32(EmitContext& ctx); | 80 | void EmitUndefU32(EmitContext& ctx, IR::Inst& inst); |
| 81 | void EmitUndefU64(EmitContext& ctx); | 81 | void EmitUndefU64(EmitContext& ctx, IR::Inst& inst); |
| 82 | void EmitLoadGlobalU8(EmitContext& ctx, IR::Inst& inst, Register address); | 82 | void EmitLoadGlobalU8(EmitContext& ctx, IR::Inst& inst, Register address); |
| 83 | void EmitLoadGlobalS8(EmitContext& ctx, IR::Inst& inst, Register address); | 83 | void EmitLoadGlobalS8(EmitContext& ctx, IR::Inst& inst, Register address); |
| 84 | void EmitLoadGlobalU16(EmitContext& ctx, IR::Inst& inst, Register address); | 84 | void 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 | ||
| 212 | void EmitUndefU1(EmitContext& ctx) { | 212 | void EmitUndefU1(EmitContext& ctx, IR::Inst& inst) { |
| 213 | NotImplemented(); | 213 | ctx.Add("MOV.S {}.x,0;", inst); |
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | void EmitUndefU8(EmitContext& ctx) { | 216 | void EmitUndefU8(EmitContext& ctx, IR::Inst& inst) { |
| 217 | NotImplemented(); | 217 | ctx.Add("MOV.S {}.x,0;", inst); |
| 218 | } | 218 | } |
| 219 | 219 | ||
| 220 | void EmitUndefU16(EmitContext& ctx) { | 220 | void EmitUndefU16(EmitContext& ctx, IR::Inst& inst) { |
| 221 | NotImplemented(); | 221 | ctx.Add("MOV.S {}.x,0;", inst); |
| 222 | } | 222 | } |
| 223 | 223 | ||
| 224 | void EmitUndefU32(EmitContext& ctx) { | 224 | void EmitUndefU32(EmitContext& ctx, IR::Inst& inst) { |
| 225 | NotImplemented(); | 225 | ctx.Add("MOV.S {}.x,0;\n", inst); |
| 226 | } | 226 | } |
| 227 | 227 | ||
| 228 | void EmitUndefU64(EmitContext& ctx) { | 228 | void EmitUndefU64(EmitContext& ctx, IR::Inst& inst) { |
| 229 | NotImplemented(); | 229 | ctx.LongAdd("MOV.S64 {}.x,0;", inst); |
| 230 | } | 230 | } |
| 231 | 231 | ||
| 232 | void EmitGetZeroFromOp(EmitContext& ctx) { | 232 | void EmitGetZeroFromOp(EmitContext& ctx) { |