i965/urb: Trigger upload_urb on NEW_BLORP

It's a bit rare, but blorp can trigger a urb reconfiguration.  When
that happens, we need to re-upload the URB config.  Previoulsy blorp
would set BRW_NEW_URB_SIZE, but this is a pretty big hammer as it
would cause back-to-black blorp operations to reconfigure both times.
Using BRW_NEW_BLORP is a small, more accurate hammer.

v2 (idr): Sort BRW_NEW_ tokens to match brw_recalculate_urb_fence and
gen6_urb.

v3 (idr): Don't whack BRW_NEW_URB_SIZE in blorp.  Suggested by Jason.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Jason Ekstrand 2016-10-11 16:39:25 -07:00 committed by Ian Romanick
parent 42c64b5f87
commit add72599d9
2 changed files with 2 additions and 3 deletions

View File

@ -236,7 +236,8 @@ gen7_upload_urb(struct brw_context *brw, unsigned vs_size,
const struct brw_tracked_state gen7_urb = {
.dirty = {
.mesa = 0,
.brw = BRW_NEW_CONTEXT |
.brw = BRW_NEW_BLORP |
BRW_NEW_CONTEXT |
BRW_NEW_URB_SIZE |
BRW_NEW_GS_PROG_DATA |
BRW_NEW_TCS_PROG_DATA |

View File

@ -183,8 +183,6 @@ blorp_emit_urb_config(struct blorp_batch *batch,
brw->urb.vsize >= vs_entry_size)
return;
brw->ctx.NewDriverState |= BRW_NEW_URB_SIZE;
gen7_upload_urb(brw, vs_entry_size, false, false);
#elif GEN_GEN == 6
gen6_upload_urb(brw, vs_entry_size, false, 0);