|
|
|
@ -467,6 +467,9 @@ void RasterizerOpenGL::Clear() { |
|
|
|
SyncScissorTest(); |
|
|
|
} |
|
|
|
|
|
|
|
// TODO: Signal state tracker about these changes
|
|
|
|
glClipControl(GL_LOWER_LEFT, GL_ZERO_TO_ONE); |
|
|
|
|
|
|
|
UNIMPLEMENTED_IF(regs.clear_flags.viewport); |
|
|
|
|
|
|
|
clear_state.Apply(); |
|
|
|
@ -950,11 +953,9 @@ void RasterizerOpenGL::SyncViewport() { |
|
|
|
if (regs.screen_y_control.y_negate != 0) { |
|
|
|
flip_y = !flip_y; |
|
|
|
} |
|
|
|
state.clip_control.origin = flip_y ? GL_UPPER_LEFT : GL_LOWER_LEFT; |
|
|
|
state.clip_control.depth_mode = |
|
|
|
regs.depth_mode == Tegra::Engines::Maxwell3D::Regs::DepthMode::ZeroToOne |
|
|
|
? GL_ZERO_TO_ONE |
|
|
|
: GL_NEGATIVE_ONE_TO_ONE; |
|
|
|
glClipControl(flip_y ? GL_UPPER_LEFT : GL_LOWER_LEFT, |
|
|
|
regs.depth_mode == Maxwell::DepthMode::ZeroToOne ? GL_ZERO_TO_ONE |
|
|
|
: GL_NEGATIVE_ONE_TO_ONE); |
|
|
|
} |
|
|
|
|
|
|
|
void RasterizerOpenGL::SyncDepthClamp() { |
|
|
|
|