crocus: fixup workaround_bo to match 965.

Always add to the batch, and don't set the reloc write flag when
adding to reloc list, as this will confuse the render/compute sync
code and cause over syncing.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
This commit is contained in:
Dave Airlie 2021-06-21 15:31:06 +10:00 committed by Marge Bot
parent 1ced421330
commit ae17ffedb7

View file

@ -299,9 +299,6 @@ crocus_use_bo(struct crocus_batch *batch, struct crocus_bo *bo, bool writable)
{
assert(bo->bufmgr == batch->command.bo->bufmgr);
if (bo == batch->ice->workaround_bo)
writable = false;
struct drm_i915_gem_exec_object2 *existing_entry =
find_validation_entry(batch, bo);
@ -376,6 +373,9 @@ emit_reloc(struct crocus_batch *batch,
{
assert(target != NULL);
if (target == batch->ice->workaround_bo)
reloc_flags &= ~RELOC_WRITE;
bool writable = reloc_flags & RELOC_WRITE;
struct drm_i915_gem_exec_object2 *entry =
@ -473,6 +473,11 @@ create_batch(struct crocus_batch *batch)
crocus_use_bo(batch, batch->command.bo, false);
/* Always add workaround_bo which contains a driver identifier to be
* recorded in error states.
*/
crocus_use_bo(batch, batch->ice->workaround_bo, false);
recreate_growing_buffer(batch, &batch->state,
"state buffer",
STATE_SZ);