Browse Source

RasterizerGL: Use the correct framebuffer when clearing via the CLEAR_BUFFERS register.

Previously we were clearing the default backbuffer framebuffer.

Found thanks to a Piglit test :)
nce_cpp
Subv 7 years ago
parent
commit
c865df9ca7
  1. 2
      src/video_core/renderer_opengl/gl_rasterizer.cpp

2
src/video_core/renderer_opengl/gl_rasterizer.cpp

@ -383,7 +383,7 @@ void RasterizerOpenGL::Clear() {
bool use_stencil{}; bool use_stencil{};
OpenGLState clear_state; OpenGLState clear_state;
clear_state.draw.draw_framebuffer = state.draw.draw_framebuffer;
clear_state.draw.draw_framebuffer = framebuffer.handle;
clear_state.color_mask.red_enabled = regs.clear_buffers.R ? GL_TRUE : GL_FALSE; clear_state.color_mask.red_enabled = regs.clear_buffers.R ? GL_TRUE : GL_FALSE;
clear_state.color_mask.green_enabled = regs.clear_buffers.G ? GL_TRUE : GL_FALSE; clear_state.color_mask.green_enabled = regs.clear_buffers.G ? GL_TRUE : GL_FALSE;
clear_state.color_mask.blue_enabled = regs.clear_buffers.B ? GL_TRUE : GL_FALSE; clear_state.color_mask.blue_enabled = regs.clear_buffers.B ? GL_TRUE : GL_FALSE;

Loading…
Cancel
Save