diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-12-22 17:42:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-22 17:42:05 +0100 |
commit | 91290b9be4e99a9890c6545e327f600484e39914 (patch) | |
tree | 7a247dcb080ba01e97258c471c2b97f47ab87354 /src/video_core/engines | |
parent | Merge pull request #12435 from liamwhite/type-check (diff) | |
parent | gl_rasterizer: Less spammy log for unimplemented resets (diff) | |
download | yuzu-91290b9be4e99a9890c6545e327f600484e39914.tar yuzu-91290b9be4e99a9890c6545e327f600484e39914.tar.gz yuzu-91290b9be4e99a9890c6545e327f600484e39914.tar.bz2 yuzu-91290b9be4e99a9890c6545e327f600484e39914.tar.lz yuzu-91290b9be4e99a9890c6545e327f600484e39914.tar.xz yuzu-91290b9be4e99a9890c6545e327f600484e39914.tar.zst yuzu-91290b9be4e99a9890c6545e327f600484e39914.zip |
Diffstat (limited to 'src/video_core/engines')
-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() { |