[Mesa-dev] [PATCH 17/24] gallium: introduce device/driver UUID queries

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Jul 26 15:36:05 UTC 2017


Trace needs to be updated as well.

On 07/26/2017 01:46 PM, Timothy Arceri wrote:
> From: Andres Rodriguez <andresx7 at gmail.com>
> 
> v2: remove unnecessary returns
> 
> Signed-off-by: Andres Rodriguez <andresx7 at gmail.com>
> Reviewed-by: Marek Olšák <marek.olsak at amd.com>
> ---
>   src/gallium/drivers/ddebug/dd_screen.c | 17 +++++++++++++++++
>   src/gallium/include/pipe/p_defines.h   |  1 +
>   src/gallium/include/pipe/p_screen.h    | 13 +++++++++++++
>   3 files changed, 31 insertions(+)
> 
> diff --git a/src/gallium/drivers/ddebug/dd_screen.c b/src/gallium/drivers/ddebug/dd_screen.c
> index 51382da..ffcd4a4 100644
> --- a/src/gallium/drivers/ddebug/dd_screen.c
> +++ b/src/gallium/drivers/ddebug/dd_screen.c
> @@ -197,6 +197,21 @@ dd_screen_get_driver_query_group_info(struct pipe_screen *_screen,
>   }
>   
>   
> +static void
> +dd_screen_get_driver_uuid(struct pipe_screen *_screen, char *uuid)
> +{
> +   struct pipe_screen *screen = dd_screen(_screen)->screen;
> +
> +   screen->get_driver_uuid(screen, uuid);
> +}
> +
> +static void
> +dd_screen_get_device_uuid(struct pipe_screen *_screen, char *uuid)
> +{
> +   struct pipe_screen *screen = dd_screen(_screen)->screen;
> +
> +   screen->get_device_uuid(screen, uuid);
> +}
>   /********************************************************************
>    * resource
>    */
> @@ -462,6 +477,8 @@ ddebug_screen_create(struct pipe_screen *screen)
>      SCR_INIT(get_driver_query_info);
>      SCR_INIT(get_driver_query_group_info);
>      SCR_INIT(get_compiler_options);
> +   SCR_INIT(get_driver_uuid);
> +   SCR_INIT(get_device_uuid);
>   
>   #undef SCR_INIT
>   
> diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
> index 91efa65..22d60d3 100644
> --- a/src/gallium/include/pipe/p_defines.h
> +++ b/src/gallium/include/pipe/p_defines.h
> @@ -1066,6 +1066,7 @@ enum pipe_debug_type
>      PIPE_DEBUG_TYPE_CONFORMANCE,
>   };
>   
> +#define PIPE_UUID_SIZE 16
>   
>   #ifdef __cplusplus
>   }
> diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h
> index d81625c..acfbd03 100644
> --- a/src/gallium/include/pipe/p_screen.h
> +++ b/src/gallium/include/pipe/p_screen.h
> @@ -393,6 +393,19 @@ struct pipe_screen {
>                                                     struct pipe_memory_object *memobj,
>                                                     uint64_t offset);
>   
> +   /**
> +    * Fill @uuid with a unique driver identifier
> +    *
> +    * \param uuid    pointer to a memory region of PIPE_UUID_SIZE bytes
> +    */
> +   void (*get_driver_uuid)(struct pipe_screen *screen, char *uuid);
> +
> +   /**
> +    * Fill @uuid with a unique device identifier
> +    *
> +    * \param uuid    pointer to a memory region of PIPE_UUID_SIZE bytes
> +    */
> +   void (*get_device_uuid)(struct pipe_screen *screen, char *uuid);
>   };
>   
>   
> 


More information about the mesa-dev mailing list