6 changes: 4 additions & 2 deletions Source/Core/VideoCommon/VertexManagerBase.cpp
Expand Up @@ -320,9 +320,10 @@ void VertexManagerBase::InvalidateConstants()
{
auto& system = Core::System::GetInstance();
auto& vertex_shader_manager = system.GetVertexShaderManager();
auto& geometry_shader_manager = system.GetGeometryShaderManager();
auto& pixel_shader_manager = system.GetPixelShaderManager();
vertex_shader_manager.dirty = true;
GeometryShaderManager::dirty = true;
geometry_shader_manager.dirty = true;
pixel_shader_manager.dirty = true;
}

Expand Down Expand Up @@ -487,6 +488,7 @@ void VertexManagerBase::Flush()

auto& system = Core::System::GetInstance();
auto& pixel_shader_manager = system.GetPixelShaderManager();
auto& geometry_shader_manager = system.GetGeometryShaderManager();
auto& vertex_shader_manager = system.GetVertexShaderManager();

CalculateBinormals(VertexLoaderManager::GetCurrentVertexFormat());
Expand Down Expand Up @@ -566,7 +568,7 @@ void VertexManagerBase::Flush()
g_texture_cache->BindTextures(used_textures);

// Now we can upload uniforms, as nothing else will override them.
GeometryShaderManager::SetConstants(m_current_primitive_type);
geometry_shader_manager.SetConstants(m_current_primitive_type);
pixel_shader_manager.SetConstants();
UploadUniforms();

Expand Down
2 changes: 1 addition & 1 deletion Source/Core/VideoCommon/VideoBackendBase.cpp
Expand Up @@ -329,7 +329,7 @@ void VideoBackendBase::InitializeShared()
BPInit();
VertexLoaderManager::Init();
system.GetVertexShaderManager().Init();
GeometryShaderManager::Init();
system.GetGeometryShaderManager().Init();
system.GetPixelShaderManager().Init();
TMEM::Init();

Expand Down
2 changes: 1 addition & 1 deletion Source/Core/VideoCommon/VideoState.cpp
Expand Up @@ -79,7 +79,7 @@ void VideoCommon_DoState(PointerWrap& p)
system.GetVertexShaderManager().DoState(p);
p.DoMarker("VertexShaderManager");

GeometryShaderManager::DoState(p);
system.GetGeometryShaderManager().DoState(p);
p.DoMarker("GeometryShaderManager");

g_vertex_manager->DoState(p);
Expand Down
12 changes: 5 additions & 7 deletions Source/Core/VideoCommon/XFStructs.cpp
Expand Up @@ -28,7 +28,8 @@ static void XFMemWritten(VertexShaderManager& vertex_shader_manager, u32 transfe
vertex_shader_manager.InvalidateXFRange(baseAddress, baseAddress + transferSize);
}

static void XFRegWritten(VertexShaderManager& vertex_shader_manager, u32 address, u32 value)
static void XFRegWritten(Core::System& system, VertexShaderManager& vertex_shader_manager,
u32 address, u32 value)
{
if (address >= XFMEM_REGISTERS_START && address < XFMEM_REGISTERS_END)
{
Expand Down Expand Up @@ -119,14 +120,11 @@ static void XFRegWritten(VertexShaderManager& vertex_shader_manager, u32 address
case XFMEM_SETVIEWPORT + 3:
case XFMEM_SETVIEWPORT + 4:
case XFMEM_SETVIEWPORT + 5:
{
auto& system = Core::System::GetInstance();
g_vertex_manager->Flush();
vertex_shader_manager.SetViewportChanged();
system.GetPixelShaderManager().SetViewportChanged();
GeometryShaderManager::SetViewportChanged();
system.GetGeometryShaderManager().SetViewportChanged();
break;
}

case XFMEM_SETPROJECTION:
case XFMEM_SETPROJECTION + 1:
Expand All @@ -137,7 +135,7 @@ static void XFRegWritten(VertexShaderManager& vertex_shader_manager, u32 address
case XFMEM_SETPROJECTION + 6:
g_vertex_manager->Flush();
vertex_shader_manager.SetProjectionChanged();
GeometryShaderManager::SetProjectionChanged();
system.GetGeometryShaderManager().SetProjectionChanged();
break;

case XFMEM_SETNUMTEXGENS: // GXSetNumTexGens
Expand Down Expand Up @@ -249,7 +247,7 @@ void LoadXFReg(u16 base_address, u8 transfer_size, const u8* data)
{
const u32 value = Common::swap32(data);

XFRegWritten(vertex_shader_manager, address, value);
XFRegWritten(system, vertex_shader_manager, address, value);
((u32*)&xfmem)[address] = value;

data += 4;
Expand Down