summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_context.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-04-15 02:36:36 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:27 +0200
commit416e1b7441d34512fcb0ffed014daf7ca4bb62bd (patch)
treefa14781ad4969613919a8bcd68b887b9b7a98304 /src/shader_recompiler/backend/spirv/emit_context.h
parentspirv: Implement Layer stores (diff)
downloadyuzu-416e1b7441d34512fcb0ffed014daf7ca4bb62bd.tar
yuzu-416e1b7441d34512fcb0ffed014daf7ca4bb62bd.tar.gz
yuzu-416e1b7441d34512fcb0ffed014daf7ca4bb62bd.tar.bz2
yuzu-416e1b7441d34512fcb0ffed014daf7ca4bb62bd.tar.lz
yuzu-416e1b7441d34512fcb0ffed014daf7ca4bb62bd.tar.xz
yuzu-416e1b7441d34512fcb0ffed014daf7ca4bb62bd.tar.zst
yuzu-416e1b7441d34512fcb0ffed014daf7ca4bb62bd.zip
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.h')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_context.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.h b/src/shader_recompiler/backend/spirv/emit_context.h
index 1f0d8be77..0da14d5f8 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 ImageBufferDefinition {
+ Id id;
+ Id image_type;
+};
+
struct ImageDefinition {
Id id;
Id image_type;
@@ -136,6 +141,7 @@ public:
std::array<UniformDefinitions, Info::MAX_CBUFS> cbufs{};
std::array<StorageDefinitions, Info::MAX_SSBOS> ssbos{};
std::vector<Id> texture_buffers;
+ std::vector<ImageBufferDefinition> image_buffers;
std::vector<TextureDefinition> textures;
std::vector<ImageDefinition> images;
@@ -213,6 +219,7 @@ private:
void DefineConstantBuffers(const Info& info, u32& binding);
void DefineStorageBuffers(const Info& info, u32& binding);
void DefineTextureBuffers(const Info& info, u32& binding);
+ void DefineImageBuffers(const Info& info, u32& binding);
void DefineTextures(const Info& info, u32& binding);
void DefineImages(const Info& info, u32& binding);
void DefineAttributeMemAccess(const Info& info);