mirror of https://github.com/PCSX2/pcsx2.git
gsdump: implement renderer overrides, fix linux GSRT, remove GS assert
This commit is contained in:
parent
0020568823
commit
6249831bb9
|
@ -328,8 +328,6 @@ bool AppCorePlugins::Shutdown()
|
|||
|
||||
void AppCorePlugins::Close()
|
||||
{
|
||||
AffinityAssert_AllowFrom_CoreThread();
|
||||
|
||||
if (!NeedsClose())
|
||||
return;
|
||||
|
||||
|
|
|
@ -633,8 +633,24 @@ void Dialogs::GSDumpDialog::GSThread::ExecuteTaskInThread()
|
|||
{
|
||||
GSDump::isRunning = true;
|
||||
u32 crc = 0, ss = 0;
|
||||
// XXX: check the numbers are correct
|
||||
const int renderer_override = m_root_window->m_renderer_overrides->GetSelection();
|
||||
s8 renderer_override = 0;
|
||||
switch (m_root_window->m_renderer_overrides->GetSelection())
|
||||
{
|
||||
// OGL SW
|
||||
case 1:
|
||||
renderer_override = 13;
|
||||
break;
|
||||
// D3D11 HW
|
||||
case 2:
|
||||
renderer_override = 3;
|
||||
break;
|
||||
// OGL HW
|
||||
case 3:
|
||||
renderer_override = 12;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
char regs[8192];
|
||||
|
||||
m_dump_file->Read(&crc, 4);
|
||||
|
@ -709,7 +725,7 @@ void Dialogs::GSDumpDialog::GSThread::ExecuteTaskInThread()
|
|||
}
|
||||
|
||||
GSsetBaseMem((void*)regs);
|
||||
if (GSopen2((void*)pDsp, renderer_override) != 0)
|
||||
if (GSopen2((void*)pDsp, (renderer_override<<24)) != 0)
|
||||
{
|
||||
OnStop();
|
||||
return;
|
||||
|
|
|
@ -413,8 +413,9 @@ EXPORT_C_(int) GSopen2(void** dsp, uint32 flags)
|
|||
{
|
||||
static bool stored_toggle_state = false;
|
||||
const bool toggle_state = !!(flags & 4);
|
||||
|
||||
auto current_renderer = theApp.GetCurrentRendererType();
|
||||
GSRendererType current_renderer = static_cast<GSRendererType>(flags >> 24);
|
||||
if (current_renderer == GSRendererType::NO_RENDERER)
|
||||
current_renderer = theApp.GetCurrentRendererType();
|
||||
|
||||
if (current_renderer != GSRendererType::Undefined && stored_toggle_state != toggle_state)
|
||||
{
|
||||
|
|
|
@ -231,10 +231,11 @@ enum class GS_MIN_FILTER : uint8_t
|
|||
enum class GSRendererType : int8_t
|
||||
{
|
||||
Undefined = -1,
|
||||
NO_RENDERER = 0,
|
||||
DX1011_HW = 3,
|
||||
Null = 11,
|
||||
OGL_HW,
|
||||
OGL_SW,
|
||||
OGL_HW = 12,
|
||||
OGL_SW = 13,
|
||||
|
||||
#ifdef _WIN32
|
||||
Default = Undefined
|
||||
|
|
Loading…
Reference in New Issue