mirror of https://github.com/PCSX2/pcsx2.git
GS: Fix up SW FMV switch behaviour
This commit is contained in:
parent
8661f42fce
commit
35d3547b62
|
@ -433,6 +433,8 @@ void frameLimitReset()
|
||||||
extern uint eecount_on_last_vdec;
|
extern uint eecount_on_last_vdec;
|
||||||
extern bool FMVstarted;
|
extern bool FMVstarted;
|
||||||
extern bool EnableFMV;
|
extern bool EnableFMV;
|
||||||
|
|
||||||
|
static bool RendererSwitched = false;
|
||||||
static bool s_last_fmv_state = false;
|
static bool s_last_fmv_state = false;
|
||||||
|
|
||||||
static __fi void DoFMVSwitch()
|
static __fi void DoFMVSwitch()
|
||||||
|
@ -477,11 +479,15 @@ static __fi void DoFMVSwitch()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EmuConfig.Gamefixes.SoftwareRendererFMVHack && GSConfig.UseHardwareRenderer())
|
if (EmuConfig.Gamefixes.SoftwareRendererFMVHack && (GSConfig.UseHardwareRenderer() || (RendererSwitched && GSConfig.Renderer == GSRendererType::SW)))
|
||||||
{
|
{
|
||||||
|
RendererSwitched = GSConfig.UseHardwareRenderer();
|
||||||
|
|
||||||
// we don't use the sw toggle here, because it'll change back to auto if set to sw
|
// we don't use the sw toggle here, because it'll change back to auto if set to sw
|
||||||
GetMTGS().SwitchRenderer(new_fmv_state ? GSRendererType::SW : GSConfig.Renderer, false);
|
GetMTGS().SwitchRenderer(new_fmv_state ? GSRendererType::SW : EmuConfig.GS.Renderer, false);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
RendererSwitched = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convenience function to update UI thread and set patches.
|
// Convenience function to update UI thread and set patches.
|
||||||
|
|
|
@ -653,9 +653,7 @@ void Pcsx2Config::GSOptions::MaskUpscalingHacks()
|
||||||
|
|
||||||
bool Pcsx2Config::GSOptions::UseHardwareRenderer() const
|
bool Pcsx2Config::GSOptions::UseHardwareRenderer() const
|
||||||
{
|
{
|
||||||
return (Renderer == GSRendererType::DX11 || Renderer == GSRendererType::DX12 ||
|
return (Renderer != GSRendererType::Null && Renderer != GSRendererType::SW);
|
||||||
Renderer == GSRendererType::OGL || Renderer == GSRendererType::VK ||
|
|
||||||
Renderer == GSRendererType::Metal);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VsyncMode Pcsx2Config::GetEffectiveVsyncMode() const
|
VsyncMode Pcsx2Config::GetEffectiveVsyncMode() const
|
||||||
|
|
Loading…
Reference in New Issue