summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glasm/emit_context.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-05-19 16:32:03 -0300
committerGravatar ameerj2021-07-22 21:51:32 -0400
commitaccad56ee7cc9f77886d164701a35f1e89a3519b (patch)
tree34b272f1f70d0c4d926877c4e960ccec0084ce17 /src/shader_recompiler/backend/glasm/emit_context.h
parentglasm: Implement gl_PointSize stores (diff)
downloadyuzu-accad56ee7cc9f77886d164701a35f1e89a3519b.tar.gz
yuzu-accad56ee7cc9f77886d164701a35f1e89a3519b.tar.xz
yuzu-accad56ee7cc9f77886d164701a35f1e89a3519b.zip
glasm: Implement stores to gl_ViewportIndex
Diffstat (limited to 'src/shader_recompiler/backend/glasm/emit_context.h')
-rw-r--r--src/shader_recompiler/backend/glasm/emit_context.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_context.h b/src/shader_recompiler/backend/glasm/emit_context.h
index d6b0bf73c..dd1f9ac9f 100644
--- a/src/shader_recompiler/backend/glasm/emit_context.h
+++ b/src/shader_recompiler/backend/glasm/emit_context.h
@@ -11,10 +11,12 @@
11#include <fmt/format.h> 11#include <fmt/format.h>
12 12
13#include "shader_recompiler/backend/glasm/reg_alloc.h" 13#include "shader_recompiler/backend/glasm/reg_alloc.h"
14#include "shader_recompiler/stage.h"
14 15
15namespace Shader { 16namespace Shader {
16struct Info; 17struct Info;
17} 18struct Profile;
19} // namespace Shader
18 20
19namespace Shader::Backend { 21namespace Shader::Backend {
20struct Bindings; 22struct Bindings;
@@ -29,7 +31,7 @@ namespace Shader::Backend::GLASM {
29 31
30class EmitContext { 32class EmitContext {
31public: 33public:
32 explicit EmitContext(IR::Program& program, Bindings& bindings); 34 explicit EmitContext(IR::Program& program, Bindings& bindings, const Profile& profile_);
33 35
34 template <typename... Args> 36 template <typename... Args>
35 void Add(const char* format_str, IR::Inst& inst, Args&&... args) { 37 void Add(const char* format_str, IR::Inst& inst, Args&&... args) {
@@ -55,10 +57,12 @@ public:
55 std::string code; 57 std::string code;
56 RegAlloc reg_alloc{*this}; 58 RegAlloc reg_alloc{*this};
57 const Info& info; 59 const Info& info;
60 const Profile& profile;
58 61
59 std::vector<u32> texture_buffer_bindings; 62 std::vector<u32> texture_buffer_bindings;
60 std::vector<u32> texture_bindings; 63 std::vector<u32> texture_bindings;
61 64
65 Stage stage{};
62 std::string_view stage_name = "invalid"; 66 std::string_view stage_name = "invalid";
63}; 67};
64 68