summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-05-06 03:00:00 +0200
committerbunnei <bunneidev@gmail.com>2023-06-03 09:06:00 +0200
commitbefd4772799b5e0d2939a91e79f6b123c320e77d (patch)
tree4961858a38f8b68cc2d1633336e9267b02c2b62f /src/video_core/engines/maxwell_3d.cpp
parentandroid: settings: Use mailbox vsync by default. (diff)
downloadyuzu-befd4772799b5e0d2939a91e79f6b123c320e77d.tar
yuzu-befd4772799b5e0d2939a91e79f6b123c320e77d.tar.gz
yuzu-befd4772799b5e0d2939a91e79f6b123c320e77d.tar.bz2
yuzu-befd4772799b5e0d2939a91e79f6b123c320e77d.tar.lz
yuzu-befd4772799b5e0d2939a91e79f6b123c320e77d.tar.xz
yuzu-befd4772799b5e0d2939a91e79f6b123c320e77d.tar.zst
yuzu-befd4772799b5e0d2939a91e79f6b123c320e77d.zip
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 2f986097f..62d70e9f3 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -593,6 +593,12 @@ void Maxwell3D::ProcessQueryCondition() {
}
void Maxwell3D::ProcessCounterReset() {
+#if ANDROID
+ if (!Settings::IsGPULevelHigh()) {
+ // This is problematic on Android, disable on GPU Normal.
+ return;
+ }
+#endif
switch (regs.clear_report_value) {
case Regs::ClearReport::ZPassPixelCount:
rasterizer->ResetCounter(QueryType::SamplesPassed);
@@ -614,6 +620,12 @@ std::optional<u64> Maxwell3D::GetQueryResult() {
case Regs::ReportSemaphore::Report::Payload:
return regs.report_semaphore.payload;
case Regs::ReportSemaphore::Report::ZPassPixelCount64:
+#if ANDROID
+ if (!Settings::IsGPULevelHigh()) {
+ // This is problematic on Android, disable on GPU Normal.
+ return 120;
+ }
+#endif
// Deferred.
rasterizer->Query(regs.report_semaphore.Address(), QueryType::SamplesPassed,
system.GPU().GetTicks());