|
|
|
@ -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
|
|
|
|
|