aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-06-03 19:15:36 -0400
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:37 -0400
commit8d8ce24f20649be639dbb3cc0f3edc90c6a6481e (patch)
treeb85e6fd9a9440cdfe6abaab483f5a98a8ee5159f /src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp
parentaf9696059cc24e07fba2920814725e56c3c61df0 (diff)
glsl: Implement Load/WriteGlobal
along with some other misc changes and fixes
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp')
-rw-r--r--src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp
index a4411b68b..bc4363824 100644
--- a/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp
@@ -9,6 +9,62 @@
#include "shader_recompiler/frontend/ir/value.h"
namespace Shader::Backend::GLSL {
+void EmitLoadGlobalU8([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitLoadGlobalS8([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitLoadGlobalU16([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitLoadGlobalS16([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitLoadGlobal32(EmitContext& ctx, IR::Inst& inst, std::string_view address) {
+ ctx.AddU32("{}=LoadGlobal32({});", inst, address);
+}
+
+void EmitLoadGlobal64(EmitContext& ctx, IR::Inst& inst, std::string_view address) {
+ ctx.AddU32x2("{}=LoadGlobal64({});", inst, address);
+}
+
+void EmitLoadGlobal128(EmitContext& ctx, IR::Inst& inst, std::string_view address) {
+ ctx.AddU32x4("{}=LoadGlobal128({});", inst, address);
+}
+
+void EmitWriteGlobalU8([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitWriteGlobalS8([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitWriteGlobalU16([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitWriteGlobalS16([[maybe_unused]] EmitContext& ctx) {
+ NotImplemented();
+}
+
+void EmitWriteGlobal32(EmitContext& ctx, std::string_view address, std::string_view value) {
+ ctx.Add("WriteGlobal32({},{});", address, value);
+}
+
+void EmitWriteGlobal64(EmitContext& ctx, std::string_view address, std::string_view value) {
+ ctx.Add("WriteGlobal64({},{});", address, value);
+}
+
+void EmitWriteGlobal128(EmitContext& ctx, std::string_view address, std::string_view value) {
+ ctx.Add("WriteGlobal128({},{});", address, value);
+}
+
void EmitLoadStorageU8([[maybe_unused]] EmitContext& ctx, IR::Inst& inst,
[[maybe_unused]] const IR::Value& binding,
[[maybe_unused]] const IR::Value& offset) {