diff options
author | Kenneth Graunke <[email protected]> | 2018-06-23 12:13:03 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:07 -0800 |
commit | 8c54433275a55887925c553d696b6981424f98ac (patch) | |
tree | b09a836b2f4957490b251b99c28043c408703d5e | |
parent | d0b55ca78234fd4ff147407d5731b04c691eb3d5 (diff) |
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
-rw-r--r-- | src/gallium/drivers/iris/iris_batch.c | 21 |
1 files 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. */ |