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:
		| @@ -21,6 +21,13 @@ using Tegra::Shader::PredCondition; | ||||
| using Tegra::Shader::PredOperation; | ||||
| 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) { | ||||
|     auto store = std::make_unique<NodeData>(node_data); | ||||
|     const Node node = store.get(); | ||||
|   | ||||
| @@ -567,11 +567,8 @@ private: | ||||
|  | ||||
| class ShaderIR final { | ||||
| public: | ||||
|     explicit ShaderIR(const ProgramCode& program_code, u32 main_offset) | ||||
|         : program_code{program_code}, main_offset{main_offset} { | ||||
|  | ||||
|         Decode(); | ||||
|     } | ||||
|     explicit ShaderIR(const ProgramCode& program_code, u32 main_offset); | ||||
|     ~ShaderIR(); | ||||
|  | ||||
|     const std::map<u32, NodeBlock>& GetBasicBlocks() const { | ||||
|         return basic_blocks; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Lioncash
					Lioncash