From: Kenneth Graunke Date: Thu, 5 Sep 2019 08:52:17 +0000 (-0700) Subject: iris: Support the disable_throttling=true driconf option. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dfb86405cfedea5f6500b45c3430b4339c8f8ff1;p=mesa.git iris: Support the disable_throttling=true driconf option. --- diff --git a/src/gallium/drivers/iris/driinfo_iris.h b/src/gallium/drivers/iris/driinfo_iris.h index 37190ad168c..8525001a84f 100644 --- a/src/gallium/drivers/iris/driinfo_iris.h +++ b/src/gallium/drivers/iris/driinfo_iris.h @@ -2,6 +2,7 @@ DRI_CONF_SECTION_DEBUG DRI_CONF_DUAL_COLOR_BLEND_BY_LOCATION("false") + DRI_CONF_DISABLE_THROTTLING("false") DRI_CONF_SECTION_END DRI_CONF_SECTION_PERFORMANCE diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index 5fbc214da65..6833bc96c71 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -308,6 +308,8 @@ iris_get_param(struct pipe_screen *pscreen, enum pipe_cap param) * illegal snoop <-> snoop transfers. */ return devinfo->has_llc; + case PIPE_CAP_MAX_FRAMES_IN_FLIGHT: + return screen->driconf.disable_throttling ? 0 : 1; case PIPE_CAP_CONTEXT_PRIORITY_MASK: return PIPE_CONTEXT_PRIORITY_LOW | @@ -653,6 +655,8 @@ iris_screen_create(int fd, const struct pipe_screen_config *config) screen->driconf.dual_color_blend_by_location = driQueryOptionb(config->options, "dual_color_blend_by_location"); + screen->driconf.disable_throttling = + driQueryOptionb(config->options, "disable_throttling"); screen->precompile = env_var_as_boolean("shader_precompile", true); diff --git a/src/gallium/drivers/iris/iris_screen.h b/src/gallium/drivers/iris/iris_screen.h index e8eeac07f09..817ef372c94 100644 --- a/src/gallium/drivers/iris/iris_screen.h +++ b/src/gallium/drivers/iris/iris_screen.h @@ -66,6 +66,7 @@ struct iris_screen { struct { /** Dual color blend by location instead of index (for broken apps) */ bool dual_color_blend_by_location; + bool disable_throttling; } driconf; unsigned subslice_total;