shader/shader_ir: Place implementations of constructor and destructor in cpp file
Given the class contains quite a lot of non-trivial types, place the constructor and destructor within the cpp file to avoid inlining construction and destruction code everywhere the class is used.
This commit is contained in:
parent
fb85d5670d
commit
ce04ab38bb
|
@ -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();
|
||||||
|
|
|
@ -567,11 +567,8 @@ private:
|
||||||
|
|
||||||
class ShaderIR final {
|
class ShaderIR final {
|
||||||
public:
|
public:
|
||||||
explicit ShaderIR(const ProgramCode& program_code, u32 main_offset)
|
explicit ShaderIR(const ProgramCode& program_code, u32 main_offset);
|
||||||
: program_code{program_code}, main_offset{main_offset} {
|
~ShaderIR();
|
||||||
|
|
||||||
Decode();
|
|
||||||
}
|
|
||||||
|
|
||||||
const std::map<u32, NodeBlock>& GetBasicBlocks() const {
|
const std::map<u32, NodeBlock>& GetBasicBlocks() const {
|
||||||
return basic_blocks;
|
return basic_blocks;
|
||||||
|
|
Reference in New Issue