summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-05-11 04:35:16 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:31 +0200
commit7ff5851608031baca2adceb9f72e7c75eda9b3a9 (patch)
tree79951738906a2c2a76bf1a3354d52234f03285db /src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp
parentglasm: Ensure reg alloc order across compilers on GLASM (diff)
downloadyuzu-7ff5851608031baca2adceb9f72e7c75eda9b3a9.tar
yuzu-7ff5851608031baca2adceb9f72e7c75eda9b3a9.tar.gz
yuzu-7ff5851608031baca2adceb9f72e7c75eda9b3a9.tar.bz2
yuzu-7ff5851608031baca2adceb9f72e7c75eda9b3a9.tar.lz
yuzu-7ff5851608031baca2adceb9f72e7c75eda9b3a9.tar.xz
yuzu-7ff5851608031baca2adceb9f72e7c75eda9b3a9.tar.zst
yuzu-7ff5851608031baca2adceb9f72e7c75eda9b3a9.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp
index e69de29bb..32cc5d92c 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp
@@ -0,0 +1,64 @@
+
+// Copyright 2021 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "shader_recompiler/backend/glasm/emit_context.h"
+#include "shader_recompiler/backend/glasm/emit_glasm_instructions.h"
+#include "shader_recompiler/frontend/ir/value.h"
+
+namespace Shader::Backend::GLASM {
+void EmitLoadSharedU8([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitLoadSharedS8([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitLoadSharedU16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitLoadSharedS16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitLoadSharedU32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitLoadSharedU64([[maybe_unused]] EmitContext& ctx, IR::Inst& inst,
+ [[maybe_unused]] ScalarU32 offset) {
+ ctx.LongAdd("LDS.U64 {},shared_mem[{}];", inst, offset);
+}
+
+void EmitLoadSharedU128([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitWriteSharedU8([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset,
+ [[maybe_unused]] ScalarU32 value) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitWriteSharedU16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset,
+ [[maybe_unused]] ScalarU32 value) {
+ throw NotImplementedException("GLASM instruction");
+}
+
+void EmitWriteSharedU32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset,
+ [[maybe_unused]] ScalarU32 value) {
+ ctx.Add("STS.U32 {},shared_mem[{}];", value, offset);
+}
+
+void EmitWriteSharedU64([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset,
+ [[maybe_unused]] Register value) {
+ ctx.Add("STS.U64 {},shared_mem[{}];", value, offset);
+}
+
+void EmitWriteSharedU128([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarU32 offset,
+ [[maybe_unused]] Register value) {
+ throw NotImplementedException("GLASM instruction");
+}
+} // namespace Shader::Backend::GLASM