aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glasm/emit_context.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-05-18 21:04:09 -0300
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:32 -0400
commit8b7d5912d61d56f65fb7e3a03bba544a4c40bfa6 (patch)
treeede1d0e1d3c828b50f4af190f64adf73a30a62e7 /src/shader_recompiler/backend/glasm/emit_context.h
parent3d3ed53511dcd338806a97bfff2afa1644ddb424 (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.h14
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";
};