Преглед изворни кода

gl_state: Remove primitive restart tracking

ReinUsesLisp пре 6 година
родитељ
комит
0f343d32c4

+ 2 - 2
src/video_core/renderer_opengl/gl_rasterizer.cpp

@@ -1029,8 +1029,8 @@ void RasterizerOpenGL::SyncCullMode() {
 void RasterizerOpenGL::SyncPrimitiveRestart() {
 void RasterizerOpenGL::SyncPrimitiveRestart() {
     const auto& regs = system.GPU().Maxwell3D().regs;
     const auto& regs = system.GPU().Maxwell3D().regs;
 
 
-    state.primitive_restart.enabled = regs.primitive_restart.enabled;
-    state.primitive_restart.index = regs.primitive_restart.index;
+    oglEnable(GL_PRIMITIVE_RESTART, regs.primitive_restart.enabled);
+    glPrimitiveRestartIndex(regs.primitive_restart.index);
 }
 }
 
 
 void RasterizerOpenGL::SyncDepthTestState() {
 void RasterizerOpenGL::SyncDepthTestState() {

+ 0 - 10
src/video_core/renderer_opengl/gl_state.cpp

@@ -197,15 +197,6 @@ void OpenGLState::ApplyDepth() {
     }
     }
 }
 }
 
 
-void OpenGLState::ApplyPrimitiveRestart() {
-    Enable(GL_PRIMITIVE_RESTART, cur_state.primitive_restart.enabled, primitive_restart.enabled);
-
-    if (cur_state.primitive_restart.index != primitive_restart.index) {
-        cur_state.primitive_restart.index = primitive_restart.index;
-        glPrimitiveRestartIndex(primitive_restart.index);
-    }
-}
-
 void OpenGLState::ApplyStencilTest() {
 void OpenGLState::ApplyStencilTest() {
     Enable(GL_STENCIL_TEST, cur_state.stencil.test_enabled, stencil.test_enabled);
     Enable(GL_STENCIL_TEST, cur_state.stencil.test_enabled, stencil.test_enabled);
 
 
@@ -390,7 +381,6 @@ void OpenGLState::Apply() {
     ApplyStencilTest();
     ApplyStencilTest();
     ApplySRgb();
     ApplySRgb();
     ApplyDepth();
     ApplyDepth();
-    ApplyPrimitiveRestart();
     ApplyBlending();
     ApplyBlending();
     ApplyTextures();
     ApplyTextures();
     ApplySamplers();
     ApplySamplers();

+ 0 - 6
src/video_core/renderer_opengl/gl_state.h

@@ -37,11 +37,6 @@ public:
         GLenum test_func = GL_LESS;     // GL_DEPTH_FUNC
         GLenum test_func = GL_LESS;     // GL_DEPTH_FUNC
     } depth;
     } depth;
 
 
-    struct {
-        bool enabled = false;
-        GLuint index = 0;
-    } primitive_restart; // GL_PRIMITIVE_RESTART
-
     bool rasterizer_discard = false; // GL_RASTERIZER_DISCARD
     bool rasterizer_discard = false; // GL_RASTERIZER_DISCARD
 
 
     struct ColorMask {
     struct ColorMask {
@@ -143,7 +138,6 @@ public:
     void ApplyRasterizerDiscard();
     void ApplyRasterizerDiscard();
     void ApplyColorMask();
     void ApplyColorMask();
     void ApplyDepth();
     void ApplyDepth();
-    void ApplyPrimitiveRestart();
     void ApplyStencilTest();
     void ApplyStencilTest();
     void ApplyViewport();
     void ApplyViewport();
     void ApplyTargetBlending(std::size_t target, bool force);
     void ApplyTargetBlending(std::size_t target, bool force);