From 8c54433275a55887925c553d696b6981424f98ac Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 23 Jun 2018 12:13:03 -0700 Subject: [PATCH] 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 --- src/gallium/drivers/iris/iris_batch.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) 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. */ -- 2.30.2