Module: Mesa Branch: master Commit: ce07c52b825903e698b63bc608d7ddb8cb578cd6 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce07c52b825903e698b63bc608d7ddb8cb578cd6
Author: Dave Airlie <[email protected]> Date: Fri Nov 13 17:15:53 2020 +1000 draw: fix tess eval pipeline statistics. The number of invocations wasn't getting incremented correctly. Fixes: 202bc38ce9e3 ("draw: collect tessellation invocations statistics") Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7597> --- src/gallium/auxiliary/draw/draw_tess.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_tess.c b/src/gallium/auxiliary/draw/draw_tess.c index 07d5ef960f7..a0fa3e8b51d 100644 --- a/src/gallium/auxiliary/draw/draw_tess.c +++ b/src/gallium/auxiliary/draw/draw_tess.c @@ -350,9 +350,6 @@ int draw_tess_eval_shader_run(struct draw_tess_eval_shader *shader, shader->input_vertex_stride = input_stride; shader->input_info = input_info; - if (shader->draw->collect_statistics) { - shader->draw->statistics.ds_invocations += input_prim->primitive_count; - } #ifdef LLVM_AVAILABLE struct pipe_tessellation_factors factors; struct pipe_tessellator_data data = { 0 }; @@ -394,6 +391,10 @@ int draw_tess_eval_shader_run(struct draw_tess_eval_shader *shader, output += vert_start * vertex_size; llvm_tes_run(shader, i, num_input_vertices_per_patch, &data, &factors, (struct vertex_header *)output); + if (shader->draw->collect_statistics) { + shader->draw->statistics.ds_invocations += data.num_domain_points; + } + uint32_t prim_len = u_prim_vertex_count(output_prims->prim)->min; output_prims->primitive_count += data.num_indices / prim_len; output_prims->primitive_lengths = REALLOC(output_prims->primitive_lengths, prim_start * sizeof(uint32_t), _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
