summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/shader/shader_ir.cpp7
-rw-r--r--src/video_core/shader/shader_ir.h7
2 files changed, 9 insertions, 5 deletions
diff --git a/src/video_core/shader/shader_ir.cpp b/src/video_core/shader/shader_ir.cpp
index e4eb0dfd9..196235e5d 100644
--- a/src/video_core/shader/shader_ir.cpp
+++ b/src/video_core/shader/shader_ir.cpp
@@ -21,6 +21,13 @@ using Tegra::Shader::PredCondition;
21using Tegra::Shader::PredOperation; 21using Tegra::Shader::PredOperation;
22using Tegra::Shader::Register; 22using Tegra::Shader::Register;
23 23
24ShaderIR::ShaderIR(const ProgramCode& program_code, u32 main_offset)
25 : program_code{program_code}, main_offset{main_offset} {
26 Decode();
27}
28
29ShaderIR::~ShaderIR() = default;
30
24Node ShaderIR::StoreNode(NodeData&& node_data) { 31Node ShaderIR::StoreNode(NodeData&& node_data) {
25 auto store = std::make_unique<NodeData>(node_data); 32 auto store = std::make_unique<NodeData>(node_data);
26 const Node node = store.get(); 33 const Node node = store.get();
diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h
index 65f1e1de9..3fab404f4 100644
--- a/src/video_core/shader/shader_ir.h
+++ b/src/video_core/shader/shader_ir.h
@@ -567,11 +567,8 @@ private:
567 567
568class ShaderIR final { 568class ShaderIR final {
569public: 569public:
570 explicit ShaderIR(const ProgramCode& program_code, u32 main_offset) 570 explicit ShaderIR(const ProgramCode& program_code, u32 main_offset);
571 : program_code{program_code}, main_offset{main_offset} { 571 ~ShaderIR();
572
573 Decode();
574 }
575 572
576 const std::map<u32, NodeBlock>& GetBasicBlocks() const { 573 const std::map<u32, NodeBlock>& GetBasicBlocks() const {
577 return basic_blocks; 574 return basic_blocks;