<div dir="ltr"><div>NAK.  There's really no reason to do this.  If you're in the lost device case, you've just done an ioctl (expensive) and got a GPU hang (5 second watchdog timer).  Also, it adds complexity to something that very badly needs to "just work".</div><div><br></div><div>--Jason<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 30, 2018 at 11:09 AM Eric Engestrom <<a href="mailto:eric.engestrom@intel.com">eric.engestrom@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Suggested-by: Emil Velikov <<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>><br>
Signed-off-by: Eric Engestrom <<a href="mailto:eric.engestrom@intel.com" target="_blank">eric.engestrom@intel.com</a>><br>
---<br>
 src/intel/vulkan/anv_device.c | 8 +++++++-<br>
 1 file changed, 7 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c<br>
index ee35e013329005671391..d0e83546b1197e362874 100644<br>
--- a/src/intel/vulkan/anv_device.c<br>
+++ b/src/intel/vulkan/anv_device.c<br>
@@ -2064,7 +2064,13 @@ _anv_device_set_lost(struct anv_device *device,<br>
                      VK_ERROR_DEVICE_LOST, file, line, msg, ap);<br>
    va_end(ap);<br>
<br>
-   if (env_var_as_boolean("ANV_ABORT_ON_DEVICE_LOSS", false))<br>
+   static bool abort_on_device_loss, env_read;<br>
+   if (!env_read) {<br>
+      abort_on_device_loss = env_var_as_boolean("ANV_ABORT_ON_DEVICE_LOSS", false);<br>
+      env_read = true;<br>
+   }<br>
+<br>
+   if (abort_on_device_loss)<br>
       abort();<br>
<br>
    return err;<br>
-- <br>
Cheers,<br>
  Eric<br>
<br>
</blockquote></div>