[PATCH 1/2] etnaviv: add query_group_info for sw counters

Lucas Stach l.stach at pengutronix.de
Thu Mar 8 09:15:27 UTC 2018


Am Montag, den 05.03.2018, 23:26 +0100 schrieb Christian Gmeiner:
> Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>

Reviewed-by: Lucas Stach <l.stach at pengutronix.de>

> ---
>  src/gallium/drivers/etnaviv/etnaviv_query_sw.c | 30 ++++++++++++++++++++------
>  src/gallium/drivers/etnaviv/etnaviv_query_sw.h |  5 +++++
>  2 files changed, 29 insertions(+), 6 deletions(-)
> 
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_sw.c b/src/gallium/drivers/etnaviv/etnaviv_query_sw.c
> index 2e65065b28..f955d8e210 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_query_sw.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_query_sw.c
> @@ -118,16 +118,16 @@ etna_sw_create_query(struct etna_context *ctx, unsigned query_type)
>     return q;
>  }
>  
> +static const struct pipe_driver_query_info list[] = {
> +   {"prims-emitted", PIPE_QUERY_PRIMITIVES_EMITTED, { 0 }},
> +   {"draw-calls", ETNA_QUERY_DRAW_CALLS, { 0 }},
> +   {"rs-operations", ETNA_QUERY_RS_OPERATIONS, { 0 }},
> +};
> +
>  int
>  etna_sw_get_driver_query_info(struct pipe_screen *pscreen, unsigned index,
>                                struct pipe_driver_query_info *info)
>  {
> -   static const struct pipe_driver_query_info list[] = {
> -      {"prims-emitted", PIPE_QUERY_PRIMITIVES_EMITTED, { 0 }},
> -      {"draw-calls", ETNA_QUERY_DRAW_CALLS, { 0 }},
> -      {"rs-operations", ETNA_QUERY_RS_OPERATIONS, { 0 }},
> -   };
> -
>     if (!info)
>        return ARRAY_SIZE(list);
>  
> @@ -138,3 +138,21 @@ etna_sw_get_driver_query_info(struct pipe_screen *pscreen, unsigned index,
>  
>     return 1;
>  }
> +
> +int
> +etna_sw_get_driver_query_group_info(struct pipe_screen *pscreen,
> +                                    unsigned index,
> +                                    struct pipe_driver_query_group_info *info)
> +{
> +   if (!info)
> +      return ARRAY_SIZE(list);
> +
> +   if (index != 0)
> +      return 0;
> +
> +   info->name = "driver";
> +   info->max_active_queries = ARRAY_SIZE(list);
> +   info->num_queries = ARRAY_SIZE(list);
> +
> +   return 1;
> +}
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_sw.h b/src/gallium/drivers/etnaviv/etnaviv_query_sw.h
> index 9321147094..f5a2dbef1a 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_query_sw.h
> +++ b/src/gallium/drivers/etnaviv/etnaviv_query_sw.h
> @@ -51,4 +51,9 @@ int
>  etna_sw_get_driver_query_info(struct pipe_screen *pscreen, unsigned index,
>                                struct pipe_driver_query_info *info);
>  
> +int
> +etna_sw_get_driver_query_group_info(struct pipe_screen *pscreen,
> +                                    unsigned index,
> +                                    struct pipe_driver_query_group_info *info);
> +
>  #endif


More information about the etnaviv mailing list