diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-04-09 01:45:39 -0300 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:26 -0400 |
commit | 7cb2ab358517d95ebcd35c94c72b9e91762906c3 (patch) | |
tree | 3f75959e255026665a4dde406cb8c4cc34fb45a0 /src/shader_recompiler/backend/spirv/emit_context.h | |
parent | 094da34456bbf56353211b47fcb227c09637aa15 (diff) |
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 f1ac4430ce..e70f3458c5 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 { Id image_type; }; +struct ImageDefinition { + Id id; + Id image_type; +}; + struct UniformDefinitions { Id U8{}; Id S8{}; @@ -95,8 +100,9 @@ public: std::array<UniformDefinitions, Info::MAX_CBUFS> cbufs{}; std::array<Id, Info::MAX_SSBOS> ssbos{}; - std::vector<TextureDefinition> textures; std::vector<Id> texture_buffers; + std::vector<TextureDefinition> textures; + std::vector<ImageDefinition> images; Id workgroup_id{}; Id local_invocation_id{}; @@ -156,6 +162,7 @@ private: void DefineStorageBuffers(const Info& info, u32& binding); void DefineTextureBuffers(const Info& info, u32& binding); void DefineTextures(const Info& info, u32& binding); + void DefineImages(const Info& info, u32& binding); void DefineAttributeMemAccess(const Info& info); void DefineLabels(IR::Program& program); |