summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_context.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-04-09 01:45:39 -0300
committerGravatar ameerj2021-07-22 21:51:26 -0400
commit7cb2ab358517d95ebcd35c94c72b9e91762906c3 (patch)
tree3f75959e255026665a4dde406cb8c4cc34fb45a0 /src/shader_recompiler/backend/spirv/emit_context.h
parentshader: Fix Windows build issues (diff)
downloadyuzu-7cb2ab358517d95ebcd35c94c72b9e91762906c3.tar.gz
yuzu-7cb2ab358517d95ebcd35c94c72b9e91762906c3.tar.xz
yuzu-7cb2ab358517d95ebcd35c94c72b9e91762906c3.zip
shader: Implement SULD and SUST
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.h')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_context.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.h b/src/shader_recompiler/backend/spirv/emit_context.h
index f1ac4430c..e70f3458c 100644
--- a/src/shader_recompiler/backend/spirv/emit_context.h
+++ b/src/shader_recompiler/backend/spirv/emit_context.h
@@ -35,6 +35,11 @@ struct TextureDefinition {
35 Id image_type; 35 Id image_type;
36}; 36};
37 37
38struct ImageDefinition {
39 Id id;
40 Id image_type;
41};
42
38struct UniformDefinitions { 43struct UniformDefinitions {
39 Id U8{}; 44 Id U8{};
40 Id S8{}; 45 Id S8{};
@@ -95,8 +100,9 @@ public:
95 100
96 std::array<UniformDefinitions, Info::MAX_CBUFS> cbufs{}; 101 std::array<UniformDefinitions, Info::MAX_CBUFS> cbufs{};
97 std::array<Id, Info::MAX_SSBOS> ssbos{}; 102 std::array<Id, Info::MAX_SSBOS> ssbos{};
98 std::vector<TextureDefinition> textures;
99 std::vector<Id> texture_buffers; 103 std::vector<Id> texture_buffers;
104 std::vector<TextureDefinition> textures;
105 std::vector<ImageDefinition> images;
100 106
101 Id workgroup_id{}; 107 Id workgroup_id{};
102 Id local_invocation_id{}; 108 Id local_invocation_id{};
@@ -156,6 +162,7 @@ private:
156 void DefineStorageBuffers(const Info& info, u32& binding); 162 void DefineStorageBuffers(const Info& info, u32& binding);
157 void DefineTextureBuffers(const Info& info, u32& binding); 163 void DefineTextureBuffers(const Info& info, u32& binding);
158 void DefineTextures(const Info& info, u32& binding); 164 void DefineTextures(const Info& info, u32& binding);
165 void DefineImages(const Info& info, u32& binding);
159 void DefineAttributeMemAccess(const Info& info); 166 void DefineAttributeMemAccess(const Info& info);
160 void DefineLabels(IR::Program& program); 167 void DefineLabels(IR::Program& program);
161 168