diff options
author | Ameer J <52414509+ameerj@users.noreply.github.com> | 2023-12-19 23:32:31 +0100 |
---|---|---|
committer | Ameer J <52414509+ameerj@users.noreply.github.com> | 2023-12-19 23:32:31 +0100 |
commit | db8a601cf82cd4797c32931f13a585c64527780d (patch) | |
tree | ec0f8a7f5355c9ecb01b03580b65d01671ac3359 /src/video_core/engines/maxwell_3d.cpp | |
parent | Merge pull request #12382 from liamwhite/image-limit (diff) | |
download | yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar.gz yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar.bz2 yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar.lz yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar.xz yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar.zst yuzu-db8a601cf82cd4797c32931f13a585c64527780d.zip |
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 592c28ba3..95ba4f76c 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -586,14 +586,22 @@ void Maxwell3D::ProcessQueryCondition() { } void Maxwell3D::ProcessCounterReset() { - switch (regs.clear_report_value) { - case Regs::ClearReport::ZPassPixelCount: - rasterizer->ResetCounter(VideoCommon::QueryType::ZPassPixelCount64); - break; - default: - LOG_DEBUG(Render_OpenGL, "Unimplemented counter reset={}", regs.clear_report_value); - break; - } + const auto query_type = [clear_report = regs.clear_report_value]() { + switch (clear_report) { + case Tegra::Engines::Maxwell3D::Regs::ClearReport::ZPassPixelCount: + return VideoCommon::QueryType::ZPassPixelCount64; + case Tegra::Engines::Maxwell3D::Regs::ClearReport::StreamingPrimitivesSucceeded: + return VideoCommon::QueryType::StreamingPrimitivesSucceeded; + case Tegra::Engines::Maxwell3D::Regs::ClearReport::PrimitivesGenerated: + return VideoCommon::QueryType::PrimitivesGenerated; + case Tegra::Engines::Maxwell3D::Regs::ClearReport::VtgPrimitivesOut: + return VideoCommon::QueryType::VtgPrimitivesOut; + default: + LOG_DEBUG(HW_GPU, "Unimplemented counter reset={}", clear_report); + return VideoCommon::QueryType::Payload; + } + }(); + rasterizer->ResetCounter(query_type); } void Maxwell3D::ProcessSyncPoint() { |