mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 15:01:28 +12:00
Initial commit
This commit is contained in:
parent
b5a4e21c81
commit
6a0ce1850a
4 changed files with 24 additions and 15 deletions
|
@ -174,16 +174,17 @@ void ARMv7Thread::DoReset()
|
||||||
|
|
||||||
void ARMv7Thread::DoRun()
|
void ARMv7Thread::DoRun()
|
||||||
{
|
{
|
||||||
|
m_dec = nullptr;
|
||||||
|
|
||||||
switch(Ini.CPUDecoderMode.GetValue())
|
switch(Ini.CPUDecoderMode.GetValue())
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
//m_dec = new ARMv7Decoder(*new ARMv7DisAsm());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
|
||||||
m_dec = new ARMv7Decoder(context);
|
m_dec = new ARMv7Decoder(context);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
LOG_ERROR(PPU, "Invalid CPU decoder mode: %d", Ini.CPUDecoderMode.GetValue());
|
||||||
|
Emu.Pause();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,18 +94,21 @@ void PPUThread::CloseStack()
|
||||||
|
|
||||||
void PPUThread::DoRun()
|
void PPUThread::DoRun()
|
||||||
{
|
{
|
||||||
|
m_dec = nullptr;
|
||||||
|
|
||||||
switch(Ini.CPUDecoderMode.GetValue())
|
switch(Ini.CPUDecoderMode.GetValue())
|
||||||
{
|
{
|
||||||
case 0:
|
case 0: // original interpreter
|
||||||
//m_dec = new PPUDecoder(*new PPUDisAsm());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
{
|
{
|
||||||
auto ppui = new PPUInterpreter(*this);
|
auto ppui = new PPUInterpreter(*this);
|
||||||
m_dec = new PPUDecoder(ppui);
|
m_dec = new PPUDecoder(ppui);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 1: // alternative interpreter
|
||||||
|
{
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
#ifdef PPU_LLVM_RECOMPILER
|
#ifdef PPU_LLVM_RECOMPILER
|
||||||
|
@ -217,10 +220,14 @@ void PPUThread::Task()
|
||||||
{
|
{
|
||||||
custom_task(*this);
|
custom_task(*this);
|
||||||
}
|
}
|
||||||
else
|
else if (m_dec)
|
||||||
{
|
{
|
||||||
CPUThread::Task();
|
CPUThread::Task();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ppu_thread::ppu_thread(u32 entry, const std::string& name, u32 stack_size, u32 prio)
|
ppu_thread::ppu_thread(u32 entry, const std::string& name, u32 stack_size, u32 prio)
|
||||||
|
|
|
@ -437,6 +437,7 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
|
||||||
wxCheckBox* chbox_dbg_ap_functioncall = new wxCheckBox(p_hle, wxID_ANY, "Auto Pause at Function Call");
|
wxCheckBox* chbox_dbg_ap_functioncall = new wxCheckBox(p_hle, wxID_ANY, "Auto Pause at Function Call");
|
||||||
|
|
||||||
cbox_cpu_decoder->Append("PPU Interpreter");
|
cbox_cpu_decoder->Append("PPU Interpreter");
|
||||||
|
cbox_cpu_decoder->Append("PPU Interpreter 2");
|
||||||
cbox_cpu_decoder->Append("PPU JIT (LLVM)");
|
cbox_cpu_decoder->Append("PPU JIT (LLVM)");
|
||||||
|
|
||||||
cbox_spu_decoder->Append("SPU Interpreter");
|
cbox_spu_decoder->Append("SPU Interpreter");
|
||||||
|
@ -531,7 +532,7 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
|
||||||
chbox_dbg_ap_systemcall ->SetValue(Ini.DBGAutoPauseSystemCall.GetValue());
|
chbox_dbg_ap_systemcall ->SetValue(Ini.DBGAutoPauseSystemCall.GetValue());
|
||||||
chbox_dbg_ap_functioncall->SetValue(Ini.DBGAutoPauseFunctionCall.GetValue());
|
chbox_dbg_ap_functioncall->SetValue(Ini.DBGAutoPauseFunctionCall.GetValue());
|
||||||
|
|
||||||
cbox_cpu_decoder ->SetSelection(Ini.CPUDecoderMode.GetValue() ? Ini.CPUDecoderMode.GetValue() - 1 : 0);
|
cbox_cpu_decoder ->SetSelection(Ini.CPUDecoderMode.GetValue() ? Ini.CPUDecoderMode.GetValue() : 0);
|
||||||
cbox_spu_decoder ->SetSelection(Ini.SPUDecoderMode.GetValue() ? Ini.SPUDecoderMode.GetValue() - 1 : 0);
|
cbox_spu_decoder ->SetSelection(Ini.SPUDecoderMode.GetValue() ? Ini.SPUDecoderMode.GetValue() - 1 : 0);
|
||||||
cbox_gs_render ->SetSelection(Ini.GSRenderMode.GetValue());
|
cbox_gs_render ->SetSelection(Ini.GSRenderMode.GetValue());
|
||||||
cbox_gs_resolution ->SetSelection(ResolutionIdToNum(Ini.GSResolution.GetValue()) - 1);
|
cbox_gs_resolution ->SetSelection(ResolutionIdToNum(Ini.GSResolution.GetValue()) - 1);
|
||||||
|
@ -632,7 +633,7 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
|
||||||
|
|
||||||
if(diag.ShowModal() == wxID_OK)
|
if(diag.ShowModal() == wxID_OK)
|
||||||
{
|
{
|
||||||
Ini.CPUDecoderMode.SetValue(cbox_cpu_decoder->GetSelection() + 1);
|
Ini.CPUDecoderMode.SetValue(cbox_cpu_decoder->GetSelection());
|
||||||
Ini.SPUDecoderMode.SetValue(cbox_spu_decoder->GetSelection() + 1);
|
Ini.SPUDecoderMode.SetValue(cbox_spu_decoder->GetSelection() + 1);
|
||||||
Ini.GSRenderMode.SetValue(cbox_gs_render->GetSelection());
|
Ini.GSRenderMode.SetValue(cbox_gs_render->GetSelection());
|
||||||
Ini.GSResolution.SetValue(ResolutionNumToId(cbox_gs_resolution->GetSelection() + 1));
|
Ini.GSResolution.SetValue(ResolutionNumToId(cbox_gs_resolution->GetSelection() + 1));
|
||||||
|
|
|
@ -247,7 +247,7 @@ public:
|
||||||
void Load()
|
void Load()
|
||||||
{
|
{
|
||||||
// Core
|
// Core
|
||||||
CPUDecoderMode.Load(1);
|
CPUDecoderMode.Load(0);
|
||||||
SPUDecoderMode.Load(1);
|
SPUDecoderMode.Load(1);
|
||||||
|
|
||||||
// Graphics
|
// Graphics
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue