mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	gl_state: Remove cull mode tracking
This commit is contained in:
		
							parent
							
								
									925521da5f
								
							
						
					
					
						commit
						c8f5f54a44
					
				@ -1020,10 +1020,8 @@ void RasterizerOpenGL::SyncClipCoef() {
 | 
				
			|||||||
void RasterizerOpenGL::SyncCullMode() {
 | 
					void RasterizerOpenGL::SyncCullMode() {
 | 
				
			||||||
    const auto& regs = system.GPU().Maxwell3D().regs;
 | 
					    const auto& regs = system.GPU().Maxwell3D().regs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    state.cull.enabled = regs.cull.enabled != 0;
 | 
					    oglEnable(GL_CULL_FACE, regs.cull.enabled);
 | 
				
			||||||
    if (state.cull.enabled) {
 | 
					    glCullFace(MaxwellToGL::CullFace(regs.cull.cull_face));
 | 
				
			||||||
        state.cull.mode = MaxwellToGL::CullFace(regs.cull.cull_face);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    glFrontFace(MaxwellToGL::FrontFace(regs.cull.front_face));
 | 
					    glFrontFace(MaxwellToGL::FrontFace(regs.cull.front_face));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -164,14 +164,6 @@ void OpenGLState::ApplySRgb() {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void OpenGLState::ApplyCulling() {
 | 
					 | 
				
			||||||
    Enable(GL_CULL_FACE, cur_state.cull.enabled, cull.enabled);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (UpdateValue(cur_state.cull.mode, cull.mode)) {
 | 
					 | 
				
			||||||
        glCullFace(cull.mode);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void OpenGLState::ApplyRasterizerDiscard() {
 | 
					void OpenGLState::ApplyRasterizerDiscard() {
 | 
				
			||||||
    Enable(GL_RASTERIZER_DISCARD, cur_state.rasterizer_discard, rasterizer_discard);
 | 
					    Enable(GL_RASTERIZER_DISCARD, cur_state.rasterizer_discard, rasterizer_discard);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -441,7 +433,6 @@ void OpenGLState::Apply() {
 | 
				
			|||||||
    ApplyViewport();
 | 
					    ApplyViewport();
 | 
				
			||||||
    ApplyStencilTest();
 | 
					    ApplyStencilTest();
 | 
				
			||||||
    ApplySRgb();
 | 
					    ApplySRgb();
 | 
				
			||||||
    ApplyCulling();
 | 
					 | 
				
			||||||
    ApplyDepth();
 | 
					    ApplyDepth();
 | 
				
			||||||
    ApplyPrimitiveRestart();
 | 
					    ApplyPrimitiveRestart();
 | 
				
			||||||
    ApplyBlending();
 | 
					    ApplyBlending();
 | 
				
			||||||
 | 
				
			|||||||
@ -31,11 +31,6 @@ public:
 | 
				
			|||||||
        bool near_plane = false;
 | 
					        bool near_plane = false;
 | 
				
			||||||
    } depth_clamp; // GL_DEPTH_CLAMP
 | 
					    } depth_clamp; // GL_DEPTH_CLAMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    struct {
 | 
					 | 
				
			||||||
        bool enabled = false;       // GL_CULL_FACE
 | 
					 | 
				
			||||||
        GLenum mode = GL_BACK;      // GL_CULL_FACE_MODE
 | 
					 | 
				
			||||||
    } cull;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    struct {
 | 
					    struct {
 | 
				
			||||||
        bool test_enabled = false;      // GL_DEPTH_TEST
 | 
					        bool test_enabled = false;      // GL_DEPTH_TEST
 | 
				
			||||||
        GLboolean write_mask = GL_TRUE; // GL_DEPTH_WRITEMASK
 | 
					        GLboolean write_mask = GL_TRUE; // GL_DEPTH_WRITEMASK
 | 
				
			||||||
@ -172,7 +167,6 @@ public:
 | 
				
			|||||||
    void ApplyFragmentColorClamp();
 | 
					    void ApplyFragmentColorClamp();
 | 
				
			||||||
    void ApplyMultisample();
 | 
					    void ApplyMultisample();
 | 
				
			||||||
    void ApplySRgb();
 | 
					    void ApplySRgb();
 | 
				
			||||||
    void ApplyCulling();
 | 
					 | 
				
			||||||
    void ApplyRasterizerDiscard();
 | 
					    void ApplyRasterizerDiscard();
 | 
				
			||||||
    void ApplyColorMask();
 | 
					    void ApplyColorMask();
 | 
				
			||||||
    void ApplyDepth();
 | 
					    void ApplyDepth();
 | 
				
			||||||
 | 
				
			|||||||
@ -573,6 +573,8 @@ void RendererOpenGL::DrawScreenTriangles(const ScreenInfo& screen_info, float x,
 | 
				
			|||||||
    state.Apply();
 | 
					    state.Apply();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // TODO: Signal state tracker about these changes
 | 
					    // TODO: Signal state tracker about these changes
 | 
				
			||||||
 | 
					    glEnable(GL_CULL_FACE);
 | 
				
			||||||
 | 
					    glCullFace(GL_BACK);
 | 
				
			||||||
    glFrontFace(GL_CW);
 | 
					    glFrontFace(GL_CW);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    glNamedBufferSubData(vertex_buffer.handle, 0, sizeof(vertices), std::data(vertices));
 | 
					    glNamedBufferSubData(vertex_buffer.handle, 0, sizeof(vertices), std::data(vertices));
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user