Module: Mesa Branch: main Commit: 9918a9a9905e2f12b0a7c4dac33ccea9f8a46b1d URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9918a9a9905e2f12b0a7c4dac33ccea9f8a46b1d
Author: Pierre-Eric Pelloux-Prayer <[email protected]> Date: Tue Apr 19 10:28:05 2022 +0200 gallium: add a union to access queries counters This allows to loop over counters easily. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861> --- src/gallium/include/pipe/p_defines.h | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 88975e66026..05bfab3ffc2 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -1210,17 +1210,22 @@ struct pipe_query_data_timestamp_disjoint */ struct pipe_query_data_pipeline_statistics { - uint64_t ia_vertices; /**< Num vertices read by the vertex fetcher. */ - uint64_t ia_primitives; /**< Num primitives read by the vertex fetcher. */ - uint64_t vs_invocations; /**< Num vertex shader invocations. */ - uint64_t gs_invocations; /**< Num geometry shader invocations. */ - uint64_t gs_primitives; /**< Num primitives output by a geometry shader. */ - uint64_t c_invocations; /**< Num primitives sent to the rasterizer. */ - uint64_t c_primitives; /**< Num primitives that were rendered. */ - uint64_t ps_invocations; /**< Num pixel shader invocations. */ - uint64_t hs_invocations; /**< Num hull shader invocations. */ - uint64_t ds_invocations; /**< Num domain shader invocations. */ - uint64_t cs_invocations; /**< Num compute shader invocations. */ + union { + struct { + uint64_t ia_vertices; /**< Num vertices read by the vertex fetcher. */ + uint64_t ia_primitives; /**< Num primitives read by the vertex fetcher. */ + uint64_t vs_invocations; /**< Num vertex shader invocations. */ + uint64_t gs_invocations; /**< Num geometry shader invocations. */ + uint64_t gs_primitives; /**< Num primitives output by a geometry shader. */ + uint64_t c_invocations; /**< Num primitives sent to the rasterizer. */ + uint64_t c_primitives; /**< Num primitives that were rendered. */ + uint64_t ps_invocations; /**< Num pixel shader invocations. */ + uint64_t hs_invocations; /**< Num hull shader invocations. */ + uint64_t ds_invocations; /**< Num domain shader invocations. */ + uint64_t cs_invocations; /**< Num compute shader invocations. */ + }; + uint64_t counters[11]; + }; }; /**
