mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 22:40:09 +01:00
i965/batch: don't ignore the 'brw_new_batch' call for a 'new batch'
If we restore the 'new batch' using 'intel_batchbuffer_reset_to_saved'
function we must restore the default state of the batch using
'brw_new_batch' function because the 'intel_batchbuffer_flush'
function will not do it for the 'new batch' again.
At least the following fields of the batch
'state_base_address_emitted','aperture_space', 'state_used'
should be restored to default values to avoid:
1. the aperture_space overflow
2. the missed STATE_BASE_ADDRESS commad in the batch
3. the memory overconsumption of the 'statebuffer'
due to uncleared 'state_used' field.
etc.
v2: merge with new commits, changes was minimized, added the 'fixes' tag
v3: added in to patch series
Fixes: 3faf56ffbd "intel: Add an interface for saving/restoring
the batchbuffer state."
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107626
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
a9031bf9b5
commit
e4e0fd5ffe
1 changed files with 4 additions and 0 deletions
|
|
@ -55,6 +55,8 @@
|
|||
|
||||
static void
|
||||
intel_batchbuffer_reset(struct brw_context *brw);
|
||||
static void
|
||||
brw_new_batch(struct brw_context *brw);
|
||||
|
||||
static void
|
||||
dump_validation_list(struct intel_batchbuffer *batch)
|
||||
|
|
@ -318,6 +320,8 @@ intel_batchbuffer_reset_to_saved(struct brw_context *brw)
|
|||
brw->batch.exec_count = brw->batch.saved.exec_count;
|
||||
|
||||
brw->batch.map_next = brw->batch.saved.map_next;
|
||||
if (USED_BATCH(brw->batch) == 0)
|
||||
brw_new_batch(brw);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue