|
@@ -162,14 +162,18 @@ void RasterizerOpenGL::Clear(u32 layer_count) {
|
|
|
SyncFramebufferSRGB();
|
|
SyncFramebufferSRGB();
|
|
|
}
|
|
}
|
|
|
if (regs.clear_surface.Z) {
|
|
if (regs.clear_surface.Z) {
|
|
|
- ASSERT_MSG(regs.zeta_enable != 0, "Tried to clear Z but buffer is not enabled!");
|
|
|
|
|
|
|
+ if (regs.zeta_enable != 0) {
|
|
|
|
|
+ LOG_DEBUG(Render_OpenGL, "Tried to clear Z but buffer is not enabled!");
|
|
|
|
|
+ }
|
|
|
use_depth = true;
|
|
use_depth = true;
|
|
|
|
|
|
|
|
state_tracker.NotifyDepthMask();
|
|
state_tracker.NotifyDepthMask();
|
|
|
glDepthMask(GL_TRUE);
|
|
glDepthMask(GL_TRUE);
|
|
|
}
|
|
}
|
|
|
if (regs.clear_surface.S) {
|
|
if (regs.clear_surface.S) {
|
|
|
- ASSERT_MSG(regs.zeta_enable, "Tried to clear stencil but buffer is not enabled!");
|
|
|
|
|
|
|
+ if (regs.zeta_enable) {
|
|
|
|
|
+ LOG_DEBUG(Render_OpenGL, "Tried to clear stencil but buffer is not enabled!");
|
|
|
|
|
+ }
|
|
|
use_stencil = true;
|
|
use_stencil = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1294,15 +1298,13 @@ void RasterizerOpenGL::BeginTransformFeedback(GraphicsPipeline* program, GLenum
|
|
|
program->ConfigureTransformFeedback();
|
|
program->ConfigureTransformFeedback();
|
|
|
|
|
|
|
|
UNIMPLEMENTED_IF(regs.IsShaderConfigEnabled(Maxwell::ShaderType::TessellationInit) ||
|
|
UNIMPLEMENTED_IF(regs.IsShaderConfigEnabled(Maxwell::ShaderType::TessellationInit) ||
|
|
|
- regs.IsShaderConfigEnabled(Maxwell::ShaderType::Tessellation) ||
|
|
|
|
|
- regs.IsShaderConfigEnabled(Maxwell::ShaderType::Geometry));
|
|
|
|
|
- UNIMPLEMENTED_IF(primitive_mode != GL_POINTS);
|
|
|
|
|
|
|
+ regs.IsShaderConfigEnabled(Maxwell::ShaderType::Tessellation));
|
|
|
|
|
|
|
|
// We may have to call BeginTransformFeedbackNV here since they seem to call different
|
|
// We may have to call BeginTransformFeedbackNV here since they seem to call different
|
|
|
// implementations on Nvidia's driver (the pointer is different) but we are using
|
|
// implementations on Nvidia's driver (the pointer is different) but we are using
|
|
|
// ARB_transform_feedback3 features with NV_transform_feedback interactions and the ARB
|
|
// ARB_transform_feedback3 features with NV_transform_feedback interactions and the ARB
|
|
|
// extension doesn't define BeginTransformFeedback (without NV) interactions. It just works.
|
|
// extension doesn't define BeginTransformFeedback (without NV) interactions. It just works.
|
|
|
- glBeginTransformFeedback(GL_POINTS);
|
|
|
|
|
|
|
+ glBeginTransformFeedback(primitive_mode);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void RasterizerOpenGL::EndTransformFeedback() {
|
|
void RasterizerOpenGL::EndTransformFeedback() {
|