Am Montag, den 20.08.2018, 14:10 +0200 schrieb Erik Faye-Lund: > This adds an environment-varaible that can be used for driver-
variable With that patches 1-3 are Reviewed-By: Gert Wollny <gert.wol...@collabora.com> > 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-l...@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; > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev