summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-09-05 01:52:17 -0700
committerKenneth Graunke <[email protected]>2019-09-06 18:35:24 -0700
commitdfb86405cfedea5f6500b45c3430b4339c8f8ff1 (patch)
treef8f08f0976c761f18581d235f6adcacefa327f9a /src/gallium/drivers/iris
parentc832820ce959ae7c2b4971befceae634d800330f (diff)
iris: Support the disable_throttling=true driconf option.
Diffstat (limited to 'src/gallium/drivers/iris')
-rw-r--r--src/gallium/drivers/iris/driinfo_iris.h1
-rw-r--r--src/gallium/drivers/iris/iris_screen.c4
-rw-r--r--src/gallium/drivers/iris/iris_screen.h1
3 files changed, 6 insertions, 0 deletions
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;