diff options
| author | 2023-12-19 17:32:31 -0500 | |
|---|---|---|
| committer | 2023-12-19 17:32:31 -0500 | |
| commit | db8a601cf82cd4797c32931f13a585c64527780d (patch) | |
| tree | ec0f8a7f5355c9ecb01b03580b65d01671ac3359 /src/video_core/engines | |
| parent | Merge pull request #12382 from liamwhite/image-limit (diff) | |
| download | yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar.gz yuzu-db8a601cf82cd4797c32931f13a585c64527780d.tar.xz yuzu-db8a601cf82cd4797c32931f13a585c64527780d.zip | |
OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries
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() { | |||
| 586 | } | 586 | } |
| 587 | 587 | ||
| 588 | void Maxwell3D::ProcessCounterReset() { | 588 | void Maxwell3D::ProcessCounterReset() { |
| 589 | switch (regs.clear_report_value) { | 589 | const auto query_type = [clear_report = regs.clear_report_value]() { |
| 590 | case Regs::ClearReport::ZPassPixelCount: | 590 | switch (clear_report) { |
| 591 | rasterizer->ResetCounter(VideoCommon::QueryType::ZPassPixelCount64); | 591 | case Tegra::Engines::Maxwell3D::Regs::ClearReport::ZPassPixelCount: |
| 592 | break; | 592 | return VideoCommon::QueryType::ZPassPixelCount64; |
| 593 | default: | 593 | case Tegra::Engines::Maxwell3D::Regs::ClearReport::StreamingPrimitivesSucceeded: |
| 594 | LOG_DEBUG(Render_OpenGL, "Unimplemented counter reset={}", regs.clear_report_value); | 594 | return VideoCommon::QueryType::StreamingPrimitivesSucceeded; |
| 595 | break; | 595 | case Tegra::Engines::Maxwell3D::Regs::ClearReport::PrimitivesGenerated: |
| 596 | } | 596 | return VideoCommon::QueryType::PrimitivesGenerated; |
| 597 | case Tegra::Engines::Maxwell3D::Regs::ClearReport::VtgPrimitivesOut: | ||
| 598 | return VideoCommon::QueryType::VtgPrimitivesOut; | ||
| 599 | default: | ||
| 600 | LOG_DEBUG(HW_GPU, "Unimplemented counter reset={}", clear_report); | ||
| 601 | return VideoCommon::QueryType::Payload; | ||
| 602 | } | ||
| 603 | }(); | ||
| 604 | rasterizer->ResetCounter(query_type); | ||
| 597 | } | 605 | } |
| 598 | 606 | ||
| 599 | void Maxwell3D::ProcessSyncPoint() { | 607 | void Maxwell3D::ProcessSyncPoint() { |