summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar Ameer J2023-12-19 17:32:31 -0500
committerGravatar Ameer J2023-12-19 17:32:31 -0500
commitdb8a601cf82cd4797c32931f13a585c64527780d (patch)
treeec0f8a7f5355c9ecb01b03580b65d01671ac3359 /src/video_core/engines
parentMerge pull request #12382 from liamwhite/image-limit (diff)
downloadyuzu-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.cpp24
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
588void Maxwell3D::ProcessCounterReset() { 588void 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
599void Maxwell3D::ProcessSyncPoint() { 607void Maxwell3D::ProcessSyncPoint() {