From 308076fd55a44f8defedd80d75e256e51bdff0a2 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 25 Aug 2017 07:58:40 -0400 Subject: [PATCH] freedreno: add debug flag to force high priority context Mainly for testing, FD_MESA_DEBUG=hiprio will force high priority contexts. Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_context.c | 4 +++- src/gallium/drivers/freedreno/freedreno_screen.c | 1 + src/gallium/drivers/freedreno/freedreno_util.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c index 59e902956f0..0a2f02c5e97 100644 --- a/src/gallium/drivers/freedreno/freedreno_context.c +++ b/src/gallium/drivers/freedreno/freedreno_context.c @@ -263,7 +263,9 @@ fd_context_init(struct fd_context *ctx, struct pipe_screen *pscreen, int i; /* lower numerical value == higher priority: */ - if (flags & PIPE_CONTEXT_HIGH_PRIORITY) + if (fd_mesa_debug & FD_DBG_HIPRIO) + prio = 0; + else if (flags & PIPE_CONTEXT_HIGH_PRIORITY) prio = 0; else if (flags & PIPE_CONTEXT_LOW_PRIORITY) prio = 2; diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index f1bc5682403..1fca3c768bf 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -81,6 +81,7 @@ static const struct debug_named_value debug_options[] = { {"lrz", FD_DBG_LRZ, "Enable experimental LRZ support (a5xx+)"}, {"noindirect",FD_DBG_NOINDR, "Disable hw indirect draws (emulate on CPU)"}, {"noblit", FD_DBG_NOBLIT, "Disable blitter (fallback to generic blit path)"}, + {"hiprio", FD_DBG_HIPRIO, "Force high-priority context"}, DEBUG_NAMED_VALUE_END }; diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h index f8bde6a88c2..687d874b007 100644 --- a/src/gallium/drivers/freedreno/freedreno_util.h +++ b/src/gallium/drivers/freedreno/freedreno_util.h @@ -82,6 +82,7 @@ enum adreno_stencil_op fd_stencil_op(unsigned op); #define FD_DBG_LRZ 0x20000 #define FD_DBG_NOINDR 0x40000 #define FD_DBG_NOBLIT 0x80000 +#define FD_DBG_HIPRIO 0x100000 extern int fd_mesa_debug; extern bool fd_binning_enabled; -- 2.30.2