diff options
author | Eric Anholt <[email protected]> | 2014-09-25 16:38:38 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-09-25 16:41:25 -0700 |
commit | db11eb92cfb5a9e7bd1a65a6bd693eaf15e4269a (patch) | |
tree | 66d0f6eed6b83a52baa74d867b08b0bc9242856d /src/gallium/drivers/vc4 | |
parent | 45962fbeee6ef0011e63613fe25c14e7062d3e43 (diff) |
vc4: Switch from errx() to fprintf() and abort().
These are pretty catastrophic, "should never happen" failure paths (though
4 tests in piglit hit them currently, due to a single bug). An abort()
that you can gdb on easily is probably more useful than a clean exit,
particularly since a bug in piglit framework right now is causing early
exit(1)s to simply not be recorded in the results at all.
Diffstat (limited to 'src/gallium/drivers/vc4')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_bufmgr.c | 17 | ||||
-rw-r--r-- | src/gallium/drivers/vc4/vc4_context.c | 6 |
2 files changed, 15 insertions, 8 deletions
diff --git a/src/gallium/drivers/vc4/vc4_bufmgr.c b/src/gallium/drivers/vc4/vc4_bufmgr.c index 7664d860995..33592e84527 100644 --- a/src/gallium/drivers/vc4/vc4_bufmgr.c +++ b/src/gallium/drivers/vc4/vc4_bufmgr.c @@ -52,8 +52,10 @@ vc4_bo_alloc(struct vc4_screen *screen, uint32_t size, const char *name) create.height = (size + 127) / 128; int ret = drmIoctl(screen->fd, DRM_IOCTL_MODE_CREATE_DUMB, &create); - if (ret != 0) - errx(1, "create ioctl"); + if (ret != 0) { + fprintf(stderr, "create ioctl failure\n"); + abort(); + } bo->handle = create.handle; assert(create.size >= size); @@ -162,14 +164,17 @@ vc4_bo_map(struct vc4_bo *bo) memset(&map, 0, sizeof(map)); map.handle = bo->handle; ret = drmIoctl(bo->screen->fd, DRM_IOCTL_MODE_MAP_DUMB, &map); - if (ret != 0) - errx(1, "map ioctl"); + if (ret != 0) { + fprintf(stderr, "map ioctl failure\n"); + abort(); + } bo->map = mmap(NULL, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED, bo->screen->fd, map.offset); if (bo->map == MAP_FAILED) { - errx(1, "mmap of bo %d (offset 0x%016llx, size %d) failed\n", - bo->handle, (long long)map.offset, bo->size); + fprintf(stderr, "mmap of bo %d (offset 0x%016llx, size %d) failed\n", + bo->handle, (long long)map.offset, bo->size); + abort(); } return bo->map; diff --git a/src/gallium/drivers/vc4/vc4_context.c b/src/gallium/drivers/vc4/vc4_context.c index 13f0ef0158c..5bb95fd46d2 100644 --- a/src/gallium/drivers/vc4/vc4_context.c +++ b/src/gallium/drivers/vc4/vc4_context.c @@ -248,8 +248,10 @@ vc4_flush(struct pipe_context *pctx) #else ret = vc4_simulator_flush(vc4, &submit); #endif - if (ret) - errx(1, "VC4 submit failed\n"); + if (ret) { + fprintf(stderr, "VC4 submit failed\n"); + abort(); + } } vc4_reset_cl(&vc4->bcl); |