Mesa (main): intel: Use env_var_as_boolean for INTEL_NO_HW

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 24 00:23:36 UTC 2021


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

Author: Nanley Chery <nanley.g.chery at intel.com>
Date:   Wed Jul 21 14:37:04 2021 -0700

intel: Use env_var_as_boolean for INTEL_NO_HW

The prior method of checking the result of getenv() for NULL would cause
the feature to be enabled for INTEL_NO_HW=0.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12007>

---

 docs/envvars.rst                           | 4 ++--
 src/gallium/drivers/crocus/crocus_screen.c | 3 +--
 src/gallium/drivers/iris/iris_screen.c     | 3 +--
 src/intel/vulkan/anv_device.c              | 5 ++---
 src/mesa/drivers/dri/i915/intel_screen.c   | 3 ++-
 src/mesa/drivers/dri/i965/brw_screen.c     | 3 +--
 6 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/docs/envvars.rst b/docs/envvars.rst
index 598d452b45d..34fe9f9a668 100644
--- a/docs/envvars.rst
+++ b/docs/envvars.rst
@@ -236,8 +236,8 @@ i945/i965 driver environment variables (non-Gallium)
 ----------------------------------------------------
 
 :envvar:`INTEL_NO_HW`
-   if set to 1, prevents batches from being submitted to the hardware.
-   This is useful for debugging hangs, etc.
+   if set to 1, true or yes, prevents batches from being submitted to the
+   hardware. This is useful for debugging hangs, etc.
 :envvar:`INTEL_DEBUG`
    a comma-separated list of named flags, which do various things:
 
diff --git a/src/gallium/drivers/crocus/crocus_screen.c b/src/gallium/drivers/crocus/crocus_screen.c
index 7a741e98f35..e91bd62f5bd 100644
--- a/src/gallium/drivers/crocus/crocus_screen.c
+++ b/src/gallium/drivers/crocus/crocus_screen.c
@@ -762,8 +762,7 @@ crocus_screen_create(int fd, const struct pipe_screen_config *config)
 
    screen->aperture_bytes = get_aperture_size(fd);
 
-   if (getenv("INTEL_NO_HW") != NULL)
-      screen->no_hw = true;
+   screen->no_hw = env_var_as_boolean("INTEL_NO_HW", false);
 
    driParseConfigFiles(config->options, config->options_info, 0, "crocus",
                        NULL, NULL, NULL, 0, NULL, 0);
diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c
index 8ea97a2e2be..f45b414c274 100644
--- a/src/gallium/drivers/iris/iris_screen.c
+++ b/src/gallium/drivers/iris/iris_screen.c
@@ -831,8 +831,7 @@ iris_screen_create(int fd, const struct pipe_screen_config *config)
    screen->fd = iris_bufmgr_get_fd(screen->bufmgr);
    screen->winsys_fd = fd;
 
-   if (getenv("INTEL_NO_HW") != NULL)
-      screen->no_hw = true;
+   screen->no_hw = env_var_as_boolean("INTEL_NO_HW", false);
 
    screen->workaround_bo =
       iris_bo_alloc(screen->bufmgr, "workaround", 4096, 1,
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 3eb71eeb095..d60c03ac726 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -812,9 +812,8 @@ anv_physical_device_try_create(struct anv_instance *instance,
 
    device->info = devinfo;
 
-   device->no_hw = device->info.no_hw;
-   if (getenv("INTEL_NO_HW") != NULL)
-      device->no_hw = true;
+   device->no_hw =
+      device->info.no_hw || env_var_as_boolean("INTEL_NO_HW", false);
 
    device->pci_info.domain = drm_device->businfo.pci->domain;
    device->pci_info.bus = drm_device->businfo.pci->bus;
diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c
index 6135357c2a0..5ac199c2c25 100644
--- a/src/mesa/drivers/dri/i915/intel_screen.c
+++ b/src/mesa/drivers/dri/i915/intel_screen.c
@@ -40,6 +40,7 @@
 #include "swrast/s_renderbuffer.h"
 
 #include "utils.h"
+#include "util/debug.h"
 #include "util/driconf.h"
 #include "util/u_memory.h"
 
@@ -1019,7 +1020,7 @@ intel_init_bufmgr(struct intel_screen *intelScreen)
 {
    __DRIscreen *spriv = intelScreen->driScrnPriv;
 
-   intelScreen->no_hw = getenv("INTEL_NO_HW") != NULL;
+   intelScreen->no_hw = env_var_as_boolean("INTEL_NO_HW", false);
 
    intelScreen->bufmgr = intel_bufmgr_gem_init(spriv->fd, BATCH_SZ);
    if (intelScreen->bufmgr == NULL) {
diff --git a/src/mesa/drivers/dri/i965/brw_screen.c b/src/mesa/drivers/dri/i965/brw_screen.c
index 227d31d59c3..8d032797e8f 100644
--- a/src/mesa/drivers/dri/i965/brw_screen.c
+++ b/src/mesa/drivers/dri/i965/brw_screen.c
@@ -1889,8 +1889,7 @@ brw_init_bufmgr(struct brw_screen *screen)
 {
    __DRIscreen *dri_screen = screen->driScrnPriv;
 
-   if (getenv("INTEL_NO_HW") != NULL)
-      screen->no_hw = true;
+   screen->no_hw = env_var_as_boolean("INTEL_NO_HW", false);
 
    bool bo_reuse = false;
    int bo_reuse_mode = driQueryOptioni(&screen->optionCache, "bo_reuse");



More information about the mesa-commit mailing list