Stubbed LoadSharedU32/U64

This commit is contained in:
Lander Gallastegi 2025-04-10 17:30:59 +02:00
parent e54351eefb
commit 36c7e60e4c
2 changed files with 21 additions and 6 deletions

View file

@ -116,8 +116,8 @@ void EmitUndefU8(EmitContext& ctx);
void EmitUndefU16(EmitContext& ctx);
void EmitUndefU32(EmitContext& ctx);
void EmitUndefU64(EmitContext& ctx);
void EmitLoadSharedU32(EmitContext& ctx);
void EmitLoadSharedU64(EmitContext& ctx);
void EmitLoadSharedU32(EmitContext& ctx, const Operands& dest, const Operands& offset);
void EmitLoadSharedU64(EmitContext& ctx, const Operands& dest, const Operands& offset);
void EmitWriteSharedU32(EmitContext& ctx);
void EmitWriteSharedU64(EmitContext& ctx);
void EmitSharedAtomicIAdd32(EmitContext& ctx);

View file

@ -6,12 +6,27 @@
namespace Shader::Backend::X64 {
void EmitLoadSharedU32(EmitContext& ctx) {
throw NotImplementedException("LoadSharedU32");
void EmitLoadSharedU32(EmitContext& ctx, const Operands& dest, const Operands& offset) {
LOG_WARNING(Render_Recompiler, "EmitLoadSharedU32 stubbed, setting to 0");
if (dest[0].IsMem()) {
ctx.Code().mov(dest[0].Mem(), 0);
} else {
ctx.Code().xor_(dest[0].Reg(), dest[0].Reg());
}
}
void EmitLoadSharedU64(EmitContext& ctx) {
throw NotImplementedException("LoadSharedU64");
void EmitLoadSharedU64(EmitContext& ctx, const Operands& dest, const Operands& offset) {
LOG_WARNING(Render_Recompiler, "EmitLoadSharedU64 stubbed, setting to 0");
if (dest[0].IsMem()) {
ctx.Code().mov(dest[0].Mem(), 0);
} else {
ctx.Code().xor_(dest[0].Reg(), dest[0].Reg());
}
if (dest[1].IsMem()) {
ctx.Code().mov(dest[1].Mem(), 0);
} else {
ctx.Code().xor_(dest[1].Reg(), dest[1].Reg());
}
}
void EmitWriteSharedU32(EmitContext& ctx) {