diff options
| author | 2021-04-09 01:45:39 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:26 -0400 | |
| commit | 7cb2ab358517d95ebcd35c94c72b9e91762906c3 (patch) | |
| tree | 3f75959e255026665a4dde406cb8c4cc34fb45a0 /src/shader_recompiler/backend/spirv/emit_context.h | |
| parent | shader: Fix Windows build issues (diff) | |
| download | yuzu-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.h | 9 |
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 | ||
| 38 | struct ImageDefinition { | ||
| 39 | Id id; | ||
| 40 | Id image_type; | ||
| 41 | }; | ||
| 42 | |||
| 38 | struct UniformDefinitions { | 43 | struct 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 | ||