summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_context.h
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_context.h
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 'src/shader_recompiler/backend/spirv/emit_context.h')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_context.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.h b/src/shader_recompiler/backend/spirv/emit_context.h
index 01b7b665d..1a4e8221a 100644
--- a/src/shader_recompiler/backend/spirv/emit_context.h
+++ b/src/shader_recompiler/backend/spirv/emit_context.h
@@ -73,6 +73,14 @@ public:
UniformDefinitions uniform_types;
+ Id private_u32{};
+
+ Id shared_u8{};
+ Id shared_u16{};
+ Id shared_u32{};
+ Id shared_u32x2{};
+ Id shared_u32x4{};
+
Id input_f32{};
Id input_u32{};
Id input_s32{};
@@ -96,6 +104,17 @@ public:
Id base_vertex{};
Id front_face{};
+ Id local_memory{};
+
+ Id shared_memory_u8{};
+ Id shared_memory_u16{};
+ Id shared_memory_u32{};
+ Id shared_memory_u32x2{};
+ Id shared_memory_u32x4{};
+
+ Id shared_store_u8_func{};
+ Id shared_store_u16_func{};
+
Id input_position{};
std::array<Id, 32> input_generics{};
@@ -111,6 +130,8 @@ private:
void DefineCommonTypes(const Info& info);
void DefineCommonConstants();
void DefineInterfaces(const Info& info);
+ void DefineLocalMemory(const IR::Program& program);
+ void DefineSharedMemory(const IR::Program& program);
void DefineConstantBuffers(const Info& info, u32& binding);
void DefineStorageBuffers(const Info& info, u32& binding);
void DefineTextures(const Info& info, u32& binding);