iris: Re-emit Surface State Base Address when context is lost.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 29 May 2019 21:48:41 +0000 (14:48 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 29 May 2019 23:35:02 +0000 (16:35 -0700)
When we hit a GPU hang, we failed to reset Surface State Base Address
right away, and would keep hanging until we filled up the binder.  Then
we'd finally get it right after a lot of repeated stumbles.  Update it
right away so we hopefully hang fewer times before succeeding.

src/gallium/drivers/iris/iris_context.c

index 9ffab8d20eebc0395748b51a7badfc89fc86f86e..8eb80163f9781df5c382f0ca453da69aea12103e 100644 (file)
@@ -99,6 +99,7 @@ iris_lost_context_state(struct iris_batch *batch)
 
    ice->state.dirty = ~0ull;
    memset(ice->state.last_grid, 0, sizeof(ice->state.last_grid));
+   batch->last_surface_base_address = ~0ull;
 }
 
 static enum pipe_reset_status