[Mesa-dev] [PATCH 3/4] virgl: introduce $VIRGL_DEBUG=verbose

Erik Faye-Lund erik.faye-lund at collabora.com
Mon Aug 20 12:04:52 UTC 2018


Sorry, made a mistake when sending this series out. I'll resend 
properly soon.

On Mon, Aug 20, 2018 at 2:03 PM, Erik Faye-Lund 
<erik.faye-lund at collabora.com> wrote:
> This adds an environment-varaible that can be used for driver-specific
> flags, as well as a flag for it to enable verbose output.
> 
> While we're at it, quiet some overly chatty debug-output by default.
> 
> Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
> ---
>  src/gallium/drivers/virgl/virgl_context.c | 6 ++++--
>  src/gallium/drivers/virgl/virgl_encode.c  | 3 ++-
>  src/gallium/drivers/virgl/virgl_screen.c  | 9 +++++++++
>  src/gallium/drivers/virgl/virgl_screen.h  | 3 +++
>  4 files changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/src/gallium/drivers/virgl/virgl_context.c 
> b/src/gallium/drivers/virgl/virgl_context.c
> index dc1dd2d3c2..edc03f5dcf 100644
> --- a/src/gallium/drivers/virgl/virgl_context.c
> +++ b/src/gallium/drivers/virgl/virgl_context.c
> @@ -1115,8 +1115,10 @@ static void virgl_get_sample_position(struct 
> pipe_context *ctx,
>     }
>     out_value[0] = ((bits >> 4) & 0xf) / 16.0f;
>     out_value[1] = (bits & 0xf) / 16.0f;
> -   debug_printf("VIRGL: sample postion [%2d/%2d] = (%f, %f)\n",
> -		index, sample_count, out_value[0], out_value[1]);
> +
> +   if (virgl_debug & VIRGL_DEBUG_VERBOSE)
> +      debug_printf("VIRGL: sample postion [%2d/%2d] = (%f, %f)\n",
> +                   index, sample_count, out_value[0], out_value[1]);
>  }
> 
>  struct pipe_context *virgl_context_create(struct pipe_screen 
> *pscreen,
> diff --git a/src/gallium/drivers/virgl/virgl_encode.c 
> b/src/gallium/drivers/virgl/virgl_encode.c
> index 6b0077ac0c..ea544fe5cd 100644
> --- a/src/gallium/drivers/virgl/virgl_encode.c
> +++ b/src/gallium/drivers/virgl/virgl_encode.c
> @@ -261,7 +261,8 @@ int virgl_encode_shader_state(struct 
> virgl_context *ctx,
> 
>        bret = tgsi_dump_str(tokens, TGSI_DUMP_FLOAT_AS_HEX, str, 
> str_total_size);
>        if (bret == false) {
> -         debug_printf("Failed to translate shader in available space 
> - trying again\n");
> +         if (virgl_debug & VIRGL_DEBUG_VERBOSE)
> +            debug_printf("Failed to translate shader in available 
> space - trying again\n");
>           old_size = str_total_size;
>           str_total_size = 65536 * ++retry_size;
>           str = REALLOC(str, old_size, str_total_size);
> diff --git a/src/gallium/drivers/virgl/virgl_screen.c 
> b/src/gallium/drivers/virgl/virgl_screen.c
> index 86063c66aa..61147c423c 100644
> --- a/src/gallium/drivers/virgl/virgl_screen.c
> +++ b/src/gallium/drivers/virgl/virgl_screen.c
> @@ -36,6 +36,13 @@
>  #include "virgl_public.h"
>  #include "virgl_context.h"
> 
> +int virgl_debug = 0;
> +static const struct debug_named_value debug_options[] = {
> +   { "verbose", VIRGL_DEBUG_VERBOSE, NULL },
> +   DEBUG_NAMED_VALUE_END
> +};
> +DEBUG_GET_ONCE_FLAGS_OPTION(virgl_debug, "VIRGL_DEBUG", 
> debug_options, 0)
> +
>  static const char *
>  virgl_get_vendor(struct pipe_screen *screen)
>  {
> @@ -724,6 +731,8 @@ virgl_create_screen(struct virgl_winsys *vws)
>     if (!screen)
>        return NULL;
> 
> +   virgl_debug = debug_get_option_virgl_debug();
> +
>     screen->vws = vws;
>     screen->base.get_name = virgl_get_name;
>     screen->base.get_vendor = virgl_get_vendor;
> diff --git a/src/gallium/drivers/virgl/virgl_screen.h 
> b/src/gallium/drivers/virgl/virgl_screen.h
> index dcf5816d60..8334d16242 100644
> --- a/src/gallium/drivers/virgl/virgl_screen.h
> +++ b/src/gallium/drivers/virgl/virgl_screen.h
> @@ -27,6 +27,9 @@
>  #include "util/slab.h"
>  #include "virgl_winsys.h"
> 
> +#define VIRGL_DEBUG_VERBOSE 1
> +extern int virgl_debug;
> +
>  struct virgl_screen {
>     struct pipe_screen base;
> 
> --
> 2.17.1
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180820/abe6ec17/attachment.html>


More information about the mesa-dev mailing list