mirror of
https://github.com/PabloMK7/citra.git
synced 2025-09-09 20:30:05 +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