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() {
|
||||
const auto& regs = system.GPU().Maxwell3D().regs;
|
||||
|
||||
state.cull.enabled = regs.cull.enabled != 0;
|
||||
if (state.cull.enabled) {
|
||||
state.cull.mode = MaxwellToGL::CullFace(regs.cull.cull_face);
|
||||
}
|
||||
oglEnable(GL_CULL_FACE, regs.cull.enabled);
|
||||
glCullFace(MaxwellToGL::CullFace(regs.cull.cull_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() {
|
||||
Enable(GL_RASTERIZER_DISCARD, cur_state.rasterizer_discard, rasterizer_discard);
|
||||
}
|
||||
|
@ -441,7 +433,6 @@ void OpenGLState::Apply() {
|
|||
ApplyViewport();
|
||||
ApplyStencilTest();
|
||||
ApplySRgb();
|
||||
ApplyCulling();
|
||||
ApplyDepth();
|
||||
ApplyPrimitiveRestart();
|
||||
ApplyBlending();
|
||||
|
|
|
@ -31,11 +31,6 @@ public:
|
|||
bool near_plane = false;
|
||||
} depth_clamp; // GL_DEPTH_CLAMP
|
||||
|
||||
struct {
|
||||
bool enabled = false; // GL_CULL_FACE
|
||||
GLenum mode = GL_BACK; // GL_CULL_FACE_MODE
|
||||
} cull;
|
||||
|
||||
struct {
|
||||
bool test_enabled = false; // GL_DEPTH_TEST
|
||||
GLboolean write_mask = GL_TRUE; // GL_DEPTH_WRITEMASK
|
||||
|
@ -172,7 +167,6 @@ public:
|
|||
void ApplyFragmentColorClamp();
|
||||
void ApplyMultisample();
|
||||
void ApplySRgb();
|
||||
void ApplyCulling();
|
||||
void ApplyRasterizerDiscard();
|
||||
void ApplyColorMask();
|
||||
void ApplyDepth();
|
||||
|
|
|
@ -573,6 +573,8 @@ void RendererOpenGL::DrawScreenTriangles(const ScreenInfo& screen_info, float x,
|
|||
state.Apply();
|
||||
|
||||
// TODO: Signal state tracker about these changes
|
||||
glEnable(GL_CULL_FACE);
|
||||
glCullFace(GL_BACK);
|
||||
glFrontFace(GL_CW);
|
||||
|
||||
glNamedBufferSubData(vertex_buffer.handle, 0, sizeof(vertices), std::data(vertices));
|
||||
|
|
Reference in New Issue