summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_context.h
diff options
context:
space:
mode:
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 d20cf387e..8b3109eb8 100644
--- a/src/shader_recompiler/backend/spirv/emit_context.h
+++ b/src/shader_recompiler/backend/spirv/emit_context.h
@@ -29,6 +29,11 @@ private:
29 std::array<Id, 4> defs{}; 29 std::array<Id, 4> defs{};
30}; 30};
31 31
32struct TextureDefinition {
33 Id id;
34 Id type;
35};
36
32class EmitContext final : public Sirit::Module { 37class EmitContext final : public Sirit::Module {
33public: 38public:
34 explicit EmitContext(const Profile& profile, IR::Program& program); 39 explicit EmitContext(const Profile& profile, IR::Program& program);
@@ -56,6 +61,7 @@ public:
56 61
57 std::array<Id, Info::MAX_CBUFS> cbufs{}; 62 std::array<Id, Info::MAX_CBUFS> cbufs{};
58 std::array<Id, Info::MAX_SSBOS> ssbos{}; 63 std::array<Id, Info::MAX_SSBOS> ssbos{};
64 std::vector<TextureDefinition> textures;
59 65
60 Id workgroup_id{}; 66 Id workgroup_id{};
61 Id local_invocation_id{}; 67 Id local_invocation_id{};
@@ -66,6 +72,7 @@ private:
66 void DefineSpecialVariables(const Info& info); 72 void DefineSpecialVariables(const Info& info);
67 void DefineConstantBuffers(const Info& info, u32& binding); 73 void DefineConstantBuffers(const Info& info, u32& binding);
68 void DefineStorageBuffers(const Info& info, u32& binding); 74 void DefineStorageBuffers(const Info& info, u32& binding);
75 void DefineTextures(const Info& info, u32& binding);
69 void DefineLabels(IR::Program& program); 76 void DefineLabels(IR::Program& program);
70}; 77};
71 78