From: Kenneth Graunke Date: Sat, 23 Jun 2018 19:13:03 +0000 (-0700) Subject: iris: Handle batch submission failure "better" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8c54433275a55887925c553d696b6981424f98ac;p=mesa.git iris: Handle batch submission failure "better" We used to not reset the batch, and just keep appending to it, so you'd get the same invalid contents over and over. I'd also really like to know about this, so aborting seems wise for now, if not for the long term --- diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c index 9ed447d42e9..497e37f12f6 100644 --- a/src/gallium/drivers/iris/iris_batch.c +++ b/src/gallium/drivers/iris/iris_batch.c @@ -457,15 +457,20 @@ _iris_batch_flush_fence(struct iris_batch *batch, //throttle(iris); - if (ret < 0) - return ret; + if (ret >= 0) { + //if (iris->ctx.Const.ResetStrategy == GL_LOSE_CONTEXT_ON_RESET_ARB) + //iris_check_for_reset(ice); - //if (iris->ctx.Const.ResetStrategy == GL_LOSE_CONTEXT_ON_RESET_ARB) - //iris_check_for_reset(ice); - - if (unlikely(INTEL_DEBUG & DEBUG_SYNC)) { - dbg_printf("waiting for idle\n"); - iris_bo_wait_rendering(batch->bo); + if (unlikely(INTEL_DEBUG & DEBUG_SYNC)) { + dbg_printf("waiting for idle\n"); + iris_bo_wait_rendering(batch->bo); + } + } else { +#ifdef DEBUG + fprintf(stderr, "iris: Failed to submit batchbuffer: %s\n", + strerror(-ret)); + abort(); +#endif } /* Clean up after the batch we submitted and prepare for a new one. */