Mesa (master): draw: collect tessellation invocations statistics

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 15 04:49:32 UTC 2020


Module: Mesa
Branch: master
Commit: 202bc38ce9e3e52cea1448f22882d17c7e5e9a90
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=202bc38ce9e3e52cea1448f22882d17c7e5e9a90

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Mar 26 15:36:42 2020 +1000

draw: collect tessellation invocations statistics

Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4560>

---

 src/gallium/auxiliary/draw/draw_tess.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/auxiliary/draw/draw_tess.c b/src/gallium/auxiliary/draw/draw_tess.c
index dc7282af39a..9178f5c8368 100644
--- a/src/gallium/auxiliary/draw/draw_tess.c
+++ b/src/gallium/auxiliary/draw/draw_tess.c
@@ -185,6 +185,9 @@ int draw_tess_ctrl_shader_run(struct draw_tess_ctrl_shader *shader,
    output_prims->primitive_lengths = NULL;
    output_prims->primitive_count = 0;
 
+   if (shader->draw->collect_statistics) {
+      shader->draw->statistics.hs_invocations += num_patches;
+   }
 #ifdef LLVM_AVAILABLE
    for (unsigned i = 0; i < num_patches; i++) {
       uint32_t vert_start = output_verts->count;
@@ -346,6 +349,9 @@ 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 };



More information about the mesa-commit mailing list