summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-03-29 00:53:34 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:25 +0200
commite860870dd2244cd87645190c89244f1d2c4c775b (patch)
tree90ff582c6837e7fd873287b5948e9da4ac10d865 /src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
parentshader: Implement ISCADD CC (diff)
downloadyuzu-e860870dd2244cd87645190c89244f1d2c4c775b.tar
yuzu-e860870dd2244cd87645190c89244f1d2c4c775b.tar.gz
yuzu-e860870dd2244cd87645190c89244f1d2c4c775b.tar.bz2
yuzu-e860870dd2244cd87645190c89244f1d2c4c775b.tar.lz
yuzu-e860870dd2244cd87645190c89244f1d2c4c775b.tar.xz
yuzu-e860870dd2244cd87645190c89244f1d2c4c775b.tar.zst
yuzu-e860870dd2244cd87645190c89244f1d2c4c775b.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
index 4cbc2aec1..52dcef8a4 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
@@ -238,4 +238,14 @@ Id EmitLocalInvocationId(EmitContext& ctx) {
return ctx.OpLoad(ctx.U32[3], ctx.local_invocation_id);
}
+Id EmitLoadLocal(EmitContext& ctx, Id word_offset) {
+ const Id pointer{ctx.OpAccessChain(ctx.private_u32, ctx.local_memory, word_offset)};
+ return ctx.OpLoad(ctx.U32[1], pointer);
+}
+
+void EmitWriteLocal(EmitContext& ctx, Id word_offset, Id value) {
+ const Id pointer{ctx.OpAccessChain(ctx.private_u32, ctx.local_memory, word_offset)};
+ ctx.OpStore(pointer, value);
+}
+
} // namespace Shader::Backend::SPIRV