llvmpipe/setup: move point stats collection earlier.
authorDave Airlie <airlied@redhat.com>
Sun, 15 Nov 2020 23:48:13 +0000 (09:48 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 23 Nov 2020 20:50:28 +0000 (06:50 +1000)
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>

src/gallium/drivers/llvmpipe/lp_setup_point.c

index fe0de06..fde1faf 100644 (file)
@@ -447,6 +447,10 @@ try_setup_point( struct lp_setup_context *setup,
                    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 @@ try_setup_point( struct lp_setup_context *setup,
 
    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];