summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 279e5a4e0..4832c03c5 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -162,14 +162,18 @@ void RasterizerOpenGL::Clear(u32 layer_count) {
162 SyncFramebufferSRGB(); 162 SyncFramebufferSRGB();
163 } 163 }
164 if (regs.clear_surface.Z) { 164 if (regs.clear_surface.Z) {
165 ASSERT_MSG(regs.zeta_enable != 0, "Tried to clear Z but buffer is not enabled!"); 165 if (regs.zeta_enable != 0) {
166 LOG_DEBUG(Render_OpenGL, "Tried to clear Z but buffer is not enabled!");
167 }
166 use_depth = true; 168 use_depth = true;
167 169
168 state_tracker.NotifyDepthMask(); 170 state_tracker.NotifyDepthMask();
169 glDepthMask(GL_TRUE); 171 glDepthMask(GL_TRUE);
170 } 172 }
171 if (regs.clear_surface.S) { 173 if (regs.clear_surface.S) {
172 ASSERT_MSG(regs.zeta_enable, "Tried to clear stencil but buffer is not enabled!"); 174 if (regs.zeta_enable) {
175 LOG_DEBUG(Render_OpenGL, "Tried to clear stencil but buffer is not enabled!");
176 }
173 use_stencil = true; 177 use_stencil = true;
174 } 178 }
175 179
@@ -1294,15 +1298,13 @@ void RasterizerOpenGL::BeginTransformFeedback(GraphicsPipeline* program, GLenum
1294 program->ConfigureTransformFeedback(); 1298 program->ConfigureTransformFeedback();
1295 1299
1296 UNIMPLEMENTED_IF(regs.IsShaderConfigEnabled(Maxwell::ShaderType::TessellationInit) || 1300 UNIMPLEMENTED_IF(regs.IsShaderConfigEnabled(Maxwell::ShaderType::TessellationInit) ||
1297 regs.IsShaderConfigEnabled(Maxwell::ShaderType::Tessellation) || 1301 regs.IsShaderConfigEnabled(Maxwell::ShaderType::Tessellation));
1298 regs.IsShaderConfigEnabled(Maxwell::ShaderType::Geometry));
1299 UNIMPLEMENTED_IF(primitive_mode != GL_POINTS);
1300 1302
1301 // We may have to call BeginTransformFeedbackNV here since they seem to call different 1303 // We may have to call BeginTransformFeedbackNV here since they seem to call different
1302 // implementations on Nvidia's driver (the pointer is different) but we are using 1304 // implementations on Nvidia's driver (the pointer is different) but we are using
1303 // ARB_transform_feedback3 features with NV_transform_feedback interactions and the ARB 1305 // ARB_transform_feedback3 features with NV_transform_feedback interactions and the ARB
1304 // extension doesn't define BeginTransformFeedback (without NV) interactions. It just works. 1306 // extension doesn't define BeginTransformFeedback (without NV) interactions. It just works.
1305 glBeginTransformFeedback(GL_POINTS); 1307 glBeginTransformFeedback(primitive_mode);
1306} 1308}
1307 1309
1308void RasterizerOpenGL::EndTransformFeedback() { 1310void RasterizerOpenGL::EndTransformFeedback() {