|
|
|
@ -574,6 +574,7 @@ void RasterizerOpenGL::DrawArrays() { |
|
|
|
// Alpha Testing is synced on shaders.
|
|
|
|
SyncTransformFeedback(); |
|
|
|
SyncPointState(); |
|
|
|
CheckAlphaTests(); |
|
|
|
|
|
|
|
// TODO(bunnei): Sync framebuffer_scale uniform here
|
|
|
|
// TODO(bunnei): Sync scissorbox uniform(s) here
|
|
|
|
@ -1041,4 +1042,15 @@ void RasterizerOpenGL::SyncPointState() { |
|
|
|
state.point.size = regs.point_size == 0 ? 1 : regs.point_size; |
|
|
|
} |
|
|
|
|
|
|
|
void RasterizerOpenGL::CheckAlphaTests() { |
|
|
|
const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs; |
|
|
|
|
|
|
|
if (regs.alpha_test_enabled != 0 && regs.rt_control.count > 1) { |
|
|
|
LOG_CRITICAL( |
|
|
|
Render_OpenGL, |
|
|
|
"Alpha Testing is enabled with Multiple Render Targets, this behavior is undefined."); |
|
|
|
UNREACHABLE(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace OpenGL
|