i965: Stop re-uploading push constants after URB reconfiguration.
Previously we would re-upload the constant data to the batchbuffer, then re-emit the packets. We only need to do the last step (causing the existing data in the batchbuffer to be re-uploaded to the push constant staging area in the L3). Now that we've separated the two, it's pretty easy to accomplish. Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
@@ -101,7 +101,11 @@ gen7_allocate_push_constants(struct brw_context *brw)
|
||||
* Similar text exists for the other 3DSTATE_PUSH_CONSTANT_ALLOC_*
|
||||
* commands.
|
||||
*/
|
||||
brw->ctx.NewDriverState |= BRW_NEW_PUSH_CONSTANT_ALLOCATION;
|
||||
brw->vs.base.push_constants_dirty = true;
|
||||
brw->tcs.base.push_constants_dirty = true;
|
||||
brw->tes.base.push_constants_dirty = true;
|
||||
brw->gs.base.push_constants_dirty = true;
|
||||
brw->wm.base.push_constants_dirty = true;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -2920,7 +2920,6 @@ static const struct brw_tracked_state genX(vs_push_constants) = {
|
||||
_NEW_TRANSFORM,
|
||||
.brw = BRW_NEW_BATCH |
|
||||
BRW_NEW_BLORP |
|
||||
BRW_NEW_PUSH_CONSTANT_ALLOCATION |
|
||||
BRW_NEW_VERTEX_PROGRAM |
|
||||
BRW_NEW_VS_PROG_DATA,
|
||||
},
|
||||
@@ -2951,8 +2950,7 @@ static const struct brw_tracked_state genX(gs_push_constants) = {
|
||||
.brw = BRW_NEW_BATCH |
|
||||
BRW_NEW_BLORP |
|
||||
BRW_NEW_GEOMETRY_PROGRAM |
|
||||
BRW_NEW_GS_PROG_DATA |
|
||||
BRW_NEW_PUSH_CONSTANT_ALLOCATION,
|
||||
BRW_NEW_GS_PROG_DATA,
|
||||
},
|
||||
.emit = genX(upload_gs_push_constants),
|
||||
};
|
||||
@@ -2977,8 +2975,7 @@ static const struct brw_tracked_state genX(wm_push_constants) = {
|
||||
.brw = BRW_NEW_BATCH |
|
||||
BRW_NEW_BLORP |
|
||||
BRW_NEW_FRAGMENT_PROGRAM |
|
||||
BRW_NEW_FS_PROG_DATA |
|
||||
BRW_NEW_PUSH_CONSTANT_ALLOCATION,
|
||||
BRW_NEW_FS_PROG_DATA,
|
||||
},
|
||||
.emit = genX(upload_wm_push_constants),
|
||||
};
|
||||
@@ -3821,7 +3818,6 @@ static const struct brw_tracked_state genX(tes_push_constants) = {
|
||||
.mesa = _NEW_PROGRAM_CONSTANTS,
|
||||
.brw = BRW_NEW_BATCH |
|
||||
BRW_NEW_BLORP |
|
||||
BRW_NEW_PUSH_CONSTANT_ALLOCATION |
|
||||
BRW_NEW_TESS_PROGRAMS |
|
||||
BRW_NEW_TES_PROG_DATA,
|
||||
},
|
||||
@@ -3851,7 +3847,6 @@ static const struct brw_tracked_state genX(tcs_push_constants) = {
|
||||
.brw = BRW_NEW_BATCH |
|
||||
BRW_NEW_BLORP |
|
||||
BRW_NEW_DEFAULT_TESS_LEVELS |
|
||||
BRW_NEW_PUSH_CONSTANT_ALLOCATION |
|
||||
BRW_NEW_TESS_PROGRAMS |
|
||||
BRW_NEW_TCS_PROG_DATA,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user