mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	arm: De-virtualize ThreadContext (#7119)
* arm: Move ARM_Interface to core namespace * arm: De-virtualize ThreadContext
This commit is contained in:
		
							parent
							
								
									8fe147b8f9
								
							
						
					
					
						commit
						3f1f0aa7c2
					
				
					 24 changed files with 159 additions and 345 deletions
				
			
		|  | @ -11,7 +11,6 @@ | |||
| #include <QFileDialog> | ||||
| #include <QMessageBox> | ||||
| #include <QPushButton> | ||||
| #include <boost/range/algorithm/copy.hpp> | ||||
| #include <nihstro/float24.h> | ||||
| #include "citra_qt/debugger/graphics/graphics_tracing.h" | ||||
| #include "common/common_types.h" | ||||
|  | @ -88,10 +87,13 @@ void GraphicsTracingWidget::StartRecording() { | |||
|                 std::back_inserter(state.lcd_registers)); | ||||
|     std::copy_n((u32*)&Pica::g_state.regs, sizeof(Pica::g_state.regs) / sizeof(u32), | ||||
|                 std::back_inserter(state.pica_registers)); | ||||
|     boost::copy(default_attributes, std::back_inserter(state.default_attributes)); | ||||
|     boost::copy(shader_binary, std::back_inserter(state.vs_program_binary)); | ||||
|     boost::copy(swizzle_data, std::back_inserter(state.vs_swizzle_data)); | ||||
|     boost::copy(vs_float_uniforms, std::back_inserter(state.vs_float_uniforms)); | ||||
|     std::copy(default_attributes.begin(), default_attributes.end(), | ||||
|               std::back_inserter(state.default_attributes)); | ||||
|     std::copy(shader_binary.begin(), shader_binary.end(), | ||||
|               std::back_inserter(state.vs_program_binary)); | ||||
|     std::copy(swizzle_data.begin(), swizzle_data.end(), std::back_inserter(state.vs_swizzle_data)); | ||||
|     std::copy(vs_float_uniforms.begin(), vs_float_uniforms.end(), | ||||
|               std::back_inserter(state.vs_float_uniforms)); | ||||
|     // boost::copy(TODO: Not implemented, std::back_inserter(state.gs_program_binary));
 | ||||
|     // boost::copy(TODO: Not implemented, std::back_inserter(state.gs_swizzle_data));
 | ||||
|     // boost::copy(TODO: Not implemented, std::back_inserter(state.gs_float_uniforms));
 | ||||
|  |  | |||
|  | @ -67,7 +67,7 @@ void RegistersWidget::OnDebugModeEntered() { | |||
|     } | ||||
| 
 | ||||
|     // TODO: Handle all cores
 | ||||
|     const ARM_Interface& core = system.GetCore(0); | ||||
|     const auto& core = system.GetCore(0); | ||||
|     for (int i = 0; i < core_registers->childCount(); ++i) { | ||||
|         core_registers->child(i)->setText( | ||||
|             1, QStringLiteral("0x%1").arg(core.GetReg(i), 8, 16, QLatin1Char('0'))); | ||||
|  | @ -203,7 +203,7 @@ void RegistersWidget::CreateVFPSystemRegisterChildren() { | |||
| 
 | ||||
| void RegistersWidget::UpdateVFPSystemRegisterValues() { | ||||
|     // TODO: handle all cores
 | ||||
|     const ARM_Interface& core = system.GetCore(0); | ||||
|     const auto& core = system.GetCore(0); | ||||
|     const u32 fpscr_val = core.GetVFPSystemReg(VFP_FPSCR); | ||||
|     const u32 fpexc_val = core.GetVFPSystemReg(VFP_FPEXC); | ||||
| 
 | ||||
|  |  | |||
|  | @ -206,8 +206,8 @@ QString WaitTreeThread::GetText() const { | |||
|         break; | ||||
|     } | ||||
|     QString pc_info = tr(" PC = 0x%1 LR = 0x%2") | ||||
|                           .arg(thread.context->GetProgramCounter(), 8, 16, QLatin1Char('0')) | ||||
|                           .arg(thread.context->GetLinkRegister(), 8, 16, QLatin1Char('0')); | ||||
|                           .arg(thread.context.GetProgramCounter(), 8, 16, QLatin1Char('0')) | ||||
|                           .arg(thread.context.GetLinkRegister(), 8, 16, QLatin1Char('0')); | ||||
|     return QStringLiteral("%1%2 (%3) ").arg(WaitTreeWaitObject::GetText(), pc_info, status); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue