forked from eden-emu/eden
		
	video_core: Resolve more variable shadowing scenarios
Resolves variable shadowing scenarios up to the end of the OpenGL code to make it nicer to review. The rest will be resolved in a following commit.
This commit is contained in:
		
							parent
							
								
									fad38ec6e8
								
							
						
					
					
						commit
						677a8b208d
					
				
					 42 changed files with 219 additions and 206 deletions
				
			
		|  | @ -85,7 +85,7 @@ constexpr std::array<std::pair<u64, HLEFunction>, 3> hle_funcs{{ | |||
|     {0x0217920100488FF7, &HLE_0217920100488FF7}, | ||||
| }}; | ||||
| 
 | ||||
| HLEMacro::HLEMacro(Engines::Maxwell3D& maxwell3d) : maxwell3d(maxwell3d) {} | ||||
| HLEMacro::HLEMacro(Engines::Maxwell3D& maxwell3d_) : maxwell3d{maxwell3d_} {} | ||||
| HLEMacro::~HLEMacro() = default; | ||||
| 
 | ||||
| std::optional<std::unique_ptr<CachedMacro>> HLEMacro::GetHLEProgram(u64 hash) const { | ||||
|  | @ -99,8 +99,8 @@ std::optional<std::unique_ptr<CachedMacro>> HLEMacro::GetHLEProgram(u64 hash) co | |||
| 
 | ||||
| HLEMacroImpl::~HLEMacroImpl() = default; | ||||
| 
 | ||||
| HLEMacroImpl::HLEMacroImpl(Engines::Maxwell3D& maxwell3d, HLEFunction func) | ||||
|     : maxwell3d(maxwell3d), func(func) {} | ||||
| HLEMacroImpl::HLEMacroImpl(Engines::Maxwell3D& maxwell3d_, HLEFunction func_) | ||||
|     : maxwell3d{maxwell3d_}, func{func_} {} | ||||
| 
 | ||||
| void HLEMacroImpl::Execute(const std::vector<u32>& parameters, u32 method) { | ||||
|     func(maxwell3d, parameters); | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ using HLEFunction = void (*)(Engines::Maxwell3D& maxwell3d, const std::vector<u3 | |||
| 
 | ||||
| class HLEMacro { | ||||
| public: | ||||
|     explicit HLEMacro(Engines::Maxwell3D& maxwell3d); | ||||
|     explicit HLEMacro(Engines::Maxwell3D& maxwell3d_); | ||||
|     ~HLEMacro(); | ||||
| 
 | ||||
|     std::optional<std::unique_ptr<CachedMacro>> GetHLEProgram(u64 hash) const; | ||||
|  |  | |||
|  | @ -11,29 +11,29 @@ | |||
| MICROPROFILE_DEFINE(MacroInterp, "GPU", "Execute macro interpreter", MP_RGB(128, 128, 192)); | ||||
| 
 | ||||
| namespace Tegra { | ||||
| MacroInterpreter::MacroInterpreter(Engines::Maxwell3D& maxwell3d) | ||||
|     : MacroEngine::MacroEngine(maxwell3d), maxwell3d(maxwell3d) {} | ||||
| MacroInterpreter::MacroInterpreter(Engines::Maxwell3D& maxwell3d_) | ||||
|     : MacroEngine{maxwell3d_}, maxwell3d{maxwell3d_} {} | ||||
| 
 | ||||
| std::unique_ptr<CachedMacro> MacroInterpreter::Compile(const std::vector<u32>& code) { | ||||
|     return std::make_unique<MacroInterpreterImpl>(maxwell3d, code); | ||||
| } | ||||
| 
 | ||||
| MacroInterpreterImpl::MacroInterpreterImpl(Engines::Maxwell3D& maxwell3d, | ||||
|                                            const std::vector<u32>& code) | ||||
|     : maxwell3d(maxwell3d), code(code) {} | ||||
| MacroInterpreterImpl::MacroInterpreterImpl(Engines::Maxwell3D& maxwell3d_, | ||||
|                                            const std::vector<u32>& code_) | ||||
|     : maxwell3d{maxwell3d_}, code{code_} {} | ||||
| 
 | ||||
| void MacroInterpreterImpl::Execute(const std::vector<u32>& parameters, u32 method) { | ||||
| void MacroInterpreterImpl::Execute(const std::vector<u32>& params, u32 method) { | ||||
|     MICROPROFILE_SCOPE(MacroInterp); | ||||
|     Reset(); | ||||
| 
 | ||||
|     registers[1] = parameters[0]; | ||||
|     num_parameters = parameters.size(); | ||||
|     registers[1] = params[0]; | ||||
|     num_parameters = params.size(); | ||||
| 
 | ||||
|     if (num_parameters > parameters_capacity) { | ||||
|         parameters_capacity = num_parameters; | ||||
|         this->parameters = std::make_unique<u32[]>(num_parameters); | ||||
|         parameters = std::make_unique<u32[]>(num_parameters); | ||||
|     } | ||||
|     std::memcpy(this->parameters.get(), parameters.data(), num_parameters * sizeof(u32)); | ||||
|     std::memcpy(parameters.get(), params.data(), num_parameters * sizeof(u32)); | ||||
| 
 | ||||
|     // Execute the code until we hit an exit condition.
 | ||||
|     bool keep_executing = true; | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ class Maxwell3D; | |||
| 
 | ||||
| class MacroInterpreter final : public MacroEngine { | ||||
| public: | ||||
|     explicit MacroInterpreter(Engines::Maxwell3D& maxwell3d); | ||||
|     explicit MacroInterpreter(Engines::Maxwell3D& maxwell3d_); | ||||
| 
 | ||||
| protected: | ||||
|     std::unique_ptr<CachedMacro> Compile(const std::vector<u32>& code) override; | ||||
|  | @ -28,8 +28,8 @@ private: | |||
| 
 | ||||
| class MacroInterpreterImpl : public CachedMacro { | ||||
| public: | ||||
|     MacroInterpreterImpl(Engines::Maxwell3D& maxwell3d, const std::vector<u32>& code); | ||||
|     void Execute(const std::vector<u32>& parameters, u32 method) override; | ||||
|     explicit MacroInterpreterImpl(Engines::Maxwell3D& maxwell3d_, const std::vector<u32>& code_); | ||||
|     void Execute(const std::vector<u32>& params, u32 method) override; | ||||
| 
 | ||||
| private: | ||||
|     /// Resets the execution engine state, zeroing registers, etc.
 | ||||
|  | @ -38,9 +38,9 @@ private: | |||
|     /**
 | ||||
|      * Executes a single macro instruction located at the current program counter. Returns whether | ||||
|      * the interpreter should keep running. | ||||
|      * @param offset Offset to start execution at. | ||||
|      * | ||||
|      * @param is_delay_slot Whether the current step is being executed due to a delay slot in a | ||||
|      * previous instruction. | ||||
|      *                      previous instruction. | ||||
|      */ | ||||
|     bool Step(bool is_delay_slot); | ||||
| 
 | ||||
|  |  | |||
|  | @ -28,15 +28,15 @@ static const std::bitset<32> PERSISTENT_REGISTERS = Common::X64::BuildRegSet({ | |||
|     BRANCH_HOLDER, | ||||
| }); | ||||
| 
 | ||||
| MacroJITx64::MacroJITx64(Engines::Maxwell3D& maxwell3d) | ||||
|     : MacroEngine::MacroEngine(maxwell3d), maxwell3d(maxwell3d) {} | ||||
| MacroJITx64::MacroJITx64(Engines::Maxwell3D& maxwell3d_) | ||||
|     : MacroEngine{maxwell3d_}, maxwell3d{maxwell3d_} {} | ||||
| 
 | ||||
| std::unique_ptr<CachedMacro> MacroJITx64::Compile(const std::vector<u32>& code) { | ||||
|     return std::make_unique<MacroJITx64Impl>(maxwell3d, code); | ||||
| } | ||||
| 
 | ||||
| MacroJITx64Impl::MacroJITx64Impl(Engines::Maxwell3D& maxwell3d, const std::vector<u32>& code) | ||||
|     : Xbyak::CodeGenerator(MAX_CODE_SIZE), code(code), maxwell3d(maxwell3d) { | ||||
| MacroJITx64Impl::MacroJITx64Impl(Engines::Maxwell3D& maxwell3d_, const std::vector<u32>& code_) | ||||
|     : CodeGenerator{MAX_CODE_SIZE}, code{code_}, maxwell3d{maxwell3d_} { | ||||
|     Compile(); | ||||
| } | ||||
| 
 | ||||
|  | @ -553,15 +553,15 @@ Xbyak::Reg32 MacroJITx64Impl::Compile_GetRegister(u32 index, Xbyak::Reg32 dst) { | |||
| } | ||||
| 
 | ||||
| void MacroJITx64Impl::Compile_ProcessResult(Macro::ResultOperation operation, u32 reg) { | ||||
|     const auto SetRegister = [this](u32 reg, const Xbyak::Reg32& result) { | ||||
|     const auto SetRegister = [this](u32 reg_index, const Xbyak::Reg32& result) { | ||||
|         // Register 0 is supposed to always return 0. NOP is implemented as a store to the zero
 | ||||
|         // register.
 | ||||
|         if (reg == 0) { | ||||
|         if (reg_index == 0) { | ||||
|             return; | ||||
|         } | ||||
|         mov(dword[STATE + offsetof(JITState, registers) + reg * sizeof(u32)], result); | ||||
|         mov(dword[STATE + offsetof(JITState, registers) + reg_index * sizeof(u32)], result); | ||||
|     }; | ||||
|     const auto SetMethodAddress = [this](const Xbyak::Reg32& reg) { mov(METHOD_ADDRESS, reg); }; | ||||
|     const auto SetMethodAddress = [this](const Xbyak::Reg32& reg32) { mov(METHOD_ADDRESS, reg32); }; | ||||
| 
 | ||||
|     switch (operation) { | ||||
|     case Macro::ResultOperation::IgnoreAndFetch: | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ constexpr size_t MAX_CODE_SIZE = 0x10000; | |||
| 
 | ||||
| class MacroJITx64 final : public MacroEngine { | ||||
| public: | ||||
|     explicit MacroJITx64(Engines::Maxwell3D& maxwell3d); | ||||
|     explicit MacroJITx64(Engines::Maxwell3D& maxwell3d_); | ||||
| 
 | ||||
| protected: | ||||
|     std::unique_ptr<CachedMacro> Compile(const std::vector<u32>& code) override; | ||||
|  | @ -34,7 +34,7 @@ private: | |||
| 
 | ||||
| class MacroJITx64Impl : public Xbyak::CodeGenerator, public CachedMacro { | ||||
| public: | ||||
|     MacroJITx64Impl(Engines::Maxwell3D& maxwell3d, const std::vector<u32>& code); | ||||
|     explicit MacroJITx64Impl(Engines::Maxwell3D& maxwell3d_, const std::vector<u32>& code_); | ||||
|     ~MacroJITx64Impl(); | ||||
| 
 | ||||
|     void Execute(const std::vector<u32>& parameters, u32 method) override; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lioncash
						Lioncash