|
@@ -21,6 +21,13 @@ using Tegra::Shader::PredCondition;
|
|
|
using Tegra::Shader::PredOperation;
|
|
using Tegra::Shader::PredOperation;
|
|
|
using Tegra::Shader::Register;
|
|
using Tegra::Shader::Register;
|
|
|
|
|
|
|
|
|
|
+ShaderIR::ShaderIR(const ProgramCode& program_code, u32 main_offset)
|
|
|
|
|
+ : program_code{program_code}, main_offset{main_offset} {
|
|
|
|
|
+ Decode();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+ShaderIR::~ShaderIR() = default;
|
|
|
|
|
+
|
|
|
Node ShaderIR::StoreNode(NodeData&& node_data) {
|
|
Node ShaderIR::StoreNode(NodeData&& node_data) {
|
|
|
auto store = std::make_unique<NodeData>(node_data);
|
|
auto store = std::make_unique<NodeData>(node_data);
|
|
|
const Node node = store.get();
|
|
const Node node = store.get();
|