vc4: Warn instead of abort()ing on exec ioctl failures.
authorEric Anholt <eric@anholt.net>
Sat, 12 Dec 2015 03:06:09 +0000 (19:06 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 15 Dec 2015 20:02:44 +0000 (12:02 -0800)
It's really harsh to abort() the X Server because of a momentary failure
(particularly -ENOMEM).  I don't see a way to pass an -ENOMEM up the stack
from here, but we can at least log to stderr before proceeding on.

Cc: "11.1" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/vc4/vc4_job.c

index 79bf2c49eec7f7544e71a35d78e75f72ecff3746..78a66cc23181864f7c7191af3d7f86c9670a8a19 100644 (file)
@@ -240,9 +240,11 @@ vc4_job_submit(struct vc4_context *vc4)
 #else
                 ret = vc4_simulator_flush(vc4, &submit);
 #endif
-                if (ret) {
-                        fprintf(stderr, "VC4 submit failed\n");
-                        abort();
+                static bool warned = false;
+                if (ret && !warned) {
+                        fprintf(stderr, "Draw call returned %s.  "
+                                        "Expect corruption.\n", strerror(errno));
+                        warned = true;
                 }
         }