diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-05-18 21:04:09 -0300 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:32 -0400 |
commit | 8b7d5912d61d56f65fb7e3a03bba544a4c40bfa6 (patch) | |
tree | ede1d0e1d3c828b50f4af190f64adf73a30a62e7 /src/shader_recompiler/backend/glasm/emit_context.h | |
parent | 3d3ed53511dcd338806a97bfff2afa1644ddb424 (diff) |
glasm: Support textures used in more than one stage
Diffstat (limited to 'src/shader_recompiler/backend/glasm/emit_context.h')
-rw-r--r-- | src/shader_recompiler/backend/glasm/emit_context.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_context.h b/src/shader_recompiler/backend/glasm/emit_context.h index 4efe42adad..084635c77c 100644 --- a/src/shader_recompiler/backend/glasm/emit_context.h +++ b/src/shader_recompiler/backend/glasm/emit_context.h @@ -6,11 +6,20 @@ #include <string> #include <utility> +#include <vector> #include <fmt/format.h> #include "shader_recompiler/backend/glasm/reg_alloc.h" +namespace Shader { +struct Info; +} + +namespace Shader::Backend { +struct Bindings; +} + namespace Shader::IR { class Inst; struct Program; @@ -20,7 +29,7 @@ namespace Shader::Backend::GLASM { class EmitContext { public: - explicit EmitContext(IR::Program& program); + explicit EmitContext(IR::Program& program, Bindings& bindings); template <typename... Args> void Add(const char* format_str, IR::Inst& inst, Args&&... args) { @@ -45,6 +54,9 @@ public: std::string code; RegAlloc reg_alloc{*this}; + const Info& info; + + std::vector<u32> texture_bindings; std::string_view stage_name = "invalid"; }; |