virgl: Add debug flag to bypass driconf to enable the BGRA tweaks

This useful for testing, also because with vtest the dri configuration
is not read.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
This commit is contained in:
Gert Wollny 2019-05-27 16:38:38 +02:00
parent 5dbecf7863
commit a478e56fbd
2 changed files with 8 additions and 0 deletions

View file

@ -43,6 +43,8 @@ int virgl_debug = 0;
static const struct debug_named_value debug_options[] = {
{ "verbose", VIRGL_DEBUG_VERBOSE, NULL },
{ "tgsi", VIRGL_DEBUG_TGSI, NULL },
{ "emubgra", VIRGL_DEBUG_EMULATE_BGRA, "Enable tweak to emulate BGRA as RGBA on GLES hosts"},
{ "bgraswz", VIRGL_DEBUG_BGRA_DEST_SWIZZLE, "Enable tweak to swizzle emulated BGRA on GLES hosts" },
DEBUG_NAMED_VALUE_END
};
DEBUG_GET_ONCE_FLAGS_OPTION(virgl_debug, "VIRGL_DEBUG", debug_options, 0)
@ -872,6 +874,9 @@ virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *c
driQueryOptioni(config->options, VIRGL_GLES_SAMPLES_PASSED_VALUE);
}
screen->tweak_gles_emulate_bgra |= !!(virgl_debug & VIRGL_DEBUG_EMULATE_BGRA);
screen->tweak_gles_apply_bgra_dest_swizzle |= !!(virgl_debug & VIRGL_DEBUG_BGRA_DEST_SWIZZLE);
screen->vws = vws;
screen->base.get_name = virgl_get_name;
screen->base.get_vendor = virgl_get_vendor;

View file

@ -29,6 +29,9 @@
#define VIRGL_DEBUG_VERBOSE 1
#define VIRGL_DEBUG_TGSI 2
#define VIRGL_DEBUG_EMULATE_BGRA 4
#define VIRGL_DEBUG_BGRA_DEST_SWIZZLE 4
extern int virgl_debug;
struct virgl_screen {