diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index ecae102d20..898e32bc01 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -174,6 +174,12 @@ RasterizerOpenGL::RasterizerOpenGL() : shader_dirty(true) { glEnable(GL_BLEND); + SyncEntireState(); +} + +RasterizerOpenGL::~RasterizerOpenGL() {} + +void RasterizerOpenGL::SyncEntireState() { // Sync fixed function OpenGL state SyncClipEnabled(); SyncCullMode(); @@ -212,8 +218,6 @@ RasterizerOpenGL::RasterizerOpenGL() : shader_dirty(true) { SyncProcTexNoise(); } -RasterizerOpenGL::~RasterizerOpenGL() {} - /** * This is a helper function to resolve an issue when interpolating opposite quaternions. See below * for a detailed description of this issue (yuriks): diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h index 5db9b6b7ad..b347c90b84 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.h +++ b/src/video_core/renderer_opengl/gl_rasterizer.h @@ -162,6 +162,9 @@ private: static_assert(sizeof(UniformData) < 16384, "UniformData structure must be less than 16kb as per the OpenGL spec"); + /// Syncs entire status to match PICA registers + void SyncEntireState(); + /// Syncs the clip enabled status to match the PICA register void SyncClipEnabled();