sna: Always emit an error message when an execbuffer fails

So that we are not left with a puzzled user with a mysteriously slow
machine.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2014-01-19 15:18:44 +00:00
parent d7f753ba89
commit d41bbfc97c
1 changed files with 7 additions and 5 deletions

View File

@ -3016,16 +3016,18 @@ void _kgem_submit(struct kgem *kgem)
ret = drmIoctl(kgem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
}
if (ret == -1) {
DBG(("%s: GPU hang detected [%d]\n",
__FUNCTION__, errno));
ret = errno;
kgem_throttle(kgem);
kgem->wedged = true;
if (!kgem->wedged) {
xf86DrvMsg(kgem_get_screen_index(kgem), X_ERROR,
"Failed to submit rendering commands, disabling acceleration.\n");
kgem->wedged = true;
}
#if !NDEBUG
ret = errno;
ErrorF("batch[%d/%d]: %d %d %d, nreloc=%d, nexec=%d, nfence=%d, aperture=%d, fenced=%d, high=%d,%d: errno=%d\n",
kgem->mode, kgem->ring, batch_end, kgem->nbatch, kgem->surface,
kgem->nreloc, kgem->nexec, kgem->nfence, kgem->aperture, kgem->aperture_fenced, kgem->aperture_high, kgem->aperture_total, errno);
kgem->nreloc, kgem->nexec, kgem->nfence, kgem->aperture, kgem->aperture_fenced, kgem->aperture_high, kgem->aperture_total, ret);
for (i = 0; i < kgem->nexec; i++) {
struct kgem_bo *bo, *found = NULL;