llvmpipe/setup: move point stats collection earlier.
You have to count the stats pre-culling here.
Just like dc261cdd42380 did for lines.
VK-GL-CTS dEQP-VK.query_pool.statistics_query.clipping_primitives*point_list
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7705>
(cherry picked from commit 2ed54033def4e56e2ec9de7d25f7d4db30523b77)
diff --git a/.pick_status.json b/.pick_status.json
index 06cbd3c..791f476 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -625,7 +625,7 @@
"description": "llvmpipe/setup: move point stats collection earlier.",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": null
},
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_point.c b/src/gallium/drivers/llvmpipe/lp_setup_point.c
index fe0de06..fde1faf 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_point.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup_point.c
@@ -447,6 +447,10 @@
bbox.x1, bbox.y1);
}
+ if (lp_context->active_statistics_queries) {
+ lp_context->pipeline_statistics.c_primitives++;
+ }
+
if (!u_rect_test_intersection(&setup->draw_regions[viewport_index], &bbox)) {
if (0) debug_printf("offscreen\n");
LP_COUNT(nr_culled_tris);
@@ -469,10 +473,6 @@
LP_COUNT(nr_tris);
- if (lp_context->active_statistics_queries) {
- lp_context->pipeline_statistics.c_primitives++;
- }
-
if (draw_will_inject_frontface(lp_context->draw) &&
setup->face_slot > 0) {
point->inputs.frontfacing = v0[setup->face_slot][0];