Mesa (main): iris: add sync_compile option

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 28 18:00:25 UTC 2021


Module: Mesa
Branch: main
Commit: 9011cc74056dfe1c815eb7d68a8b0b0bdeb29ff1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9011cc74056dfe1c815eb7d68a8b0b0bdeb29ff1

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue May  4 11:17:30 2021 -0700

iris: add sync_compile option

This can be useful to simplify debugging compiler issues.

Similar to 9445a4ab439 ("radeonsi: add radeonsi_sync_compile option").

v2: Actually query the driconf to set screen->driconf.sync_compile.
Noticed by Ken.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11229>

---

 src/gallium/drivers/iris/driinfo_iris.h | 1 +
 src/gallium/drivers/iris/iris_screen.c  | 2 ++
 src/gallium/drivers/iris/iris_screen.h  | 1 +
 3 files changed, 4 insertions(+)

diff --git a/src/gallium/drivers/iris/driinfo_iris.h b/src/gallium/drivers/iris/driinfo_iris.h
index 1ba90b5e4a1..d601e55afb0 100644
--- a/src/gallium/drivers/iris/driinfo_iris.h
+++ b/src/gallium/drivers/iris/driinfo_iris.h
@@ -4,6 +4,7 @@ DRI_CONF_SECTION_DEBUG
    DRI_CONF_DUAL_COLOR_BLEND_BY_LOCATION(false)
    DRI_CONF_DISABLE_THROTTLING(false)
    DRI_CONF_ALWAYS_FLUSH_CACHE(false)
+   DRI_CONF_OPT_B(sync_compile, false, "Always compile synchronously (will cause stalls)")
 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 7b540fa0651..4906514014f 100644
--- a/src/gallium/drivers/iris/iris_screen.c
+++ b/src/gallium/drivers/iris/iris_screen.c
@@ -816,6 +816,8 @@ iris_screen_create(int fd, const struct pipe_screen_config *config)
       driQueryOptionb(config->options, "disable_throttling");
    screen->driconf.always_flush_cache =
       driQueryOptionb(config->options, "always_flush_cache");
+   screen->driconf.sync_compile =
+      driQueryOptionb(config->options, "sync_compile");
 
    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 3724b559a94..503effc1d27 100644
--- a/src/gallium/drivers/iris/iris_screen.h
+++ b/src/gallium/drivers/iris/iris_screen.h
@@ -180,6 +180,7 @@ struct iris_screen {
       bool dual_color_blend_by_location;
       bool disable_throttling;
       bool always_flush_cache;
+      bool sync_compile;
    } driconf;
 
    /** Does the kernel support various features (KERNEL_HAS_* bitfield)? */



More information about the mesa-commit mailing list