|
@@ -574,6 +574,7 @@ void RasterizerOpenGL::DrawArrays() {
|
|
|
// Alpha Testing is synced on shaders.
|
|
// Alpha Testing is synced on shaders.
|
|
|
SyncTransformFeedback();
|
|
SyncTransformFeedback();
|
|
|
SyncPointState();
|
|
SyncPointState();
|
|
|
|
|
+ CheckAlphaTests();
|
|
|
|
|
|
|
|
// TODO(bunnei): Sync framebuffer_scale uniform here
|
|
// TODO(bunnei): Sync framebuffer_scale uniform here
|
|
|
// TODO(bunnei): Sync scissorbox uniform(s) 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;
|
|
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
|
|
} // namespace OpenGL
|