diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c index bd4a863bf72..c7e2e76e794 100644 --- a/src/gallium/drivers/freedreno/freedreno_context.c +++ b/src/gallium/drivers/freedreno/freedreno_context.c @@ -127,6 +127,9 @@ out: u_trace_context_process(&ctx->trace_context, !!(flags & PIPE_FLUSH_END_OF_FRAME)); + + if (FD_DBG(ABORT)) + assert(pctx->get_device_reset_status(pctx) == PIPE_NO_RESET); } static void diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index ae8a6498f79..1e09a44a829 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 fd_debug_options[] = { {"nohw", FD_DBG_NOHW, "Disable submitting commands to the HW"}, {"nosbin", FD_DBG_NOSBIN, "Execute GMEM bins in raster order instead of 'S' pattern"}, {"stomp", FD_DBG_STOMP, "Enable register stomper"}, + {"abort", FD_DBG_ABORT, "Abort on GPU reset"}, DEBUG_NAMED_VALUE_END }; /* clang-format on */ diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h index dd748f36133..ef4dd399bee 100644 --- a/src/gallium/drivers/freedreno/freedreno_util.h +++ b/src/gallium/drivers/freedreno/freedreno_util.h @@ -85,6 +85,7 @@ enum fd_debug_flag { FD_DBG_NOHW = BITFIELD_BIT(28), FD_DBG_NOSBIN = BITFIELD_BIT(29), FD_DBG_STOMP = BITFIELD_BIT(30), + FD_DBG_ABORT = BITFIELD_BIT(31), }; /* clang-format on */