[Mesa-dev] [PATCH 08/10] i965: Emit VF cache invalidates for 48-bit addressing bugs with softpin.
Chris Wilson
chris at chris-wilson.co.uk
Fri May 4 06:49:51 UTC 2018
Quoting Kenneth Graunke (2018-05-04 02:12:38)
> We'd like to start using soft-pin to assign BO addresses up front, and
> never move them again. Our previous plan for dealing with 48-bit VF
> cache bugs was to relocate vertex buffers to the low 4GB, so we'd never
> have addresses that alias in the low 32 bits. But that requires moving
> buffers dynamically.
>
> This patch tracks the last seen BO address for each vertex/index buffer,
> and emits a VF cache invalidate if the high bits change. (Ideally, we
> won't hit this case very often.) This should work for the soft-pin
> case, but unfortunately won't work in the relocation case, as we don't
> actually know the addresses. So, we have to use both methods.
It can only be moved between batches; and between batches there is a
PIPE_CONTROL_VF_CACHE_INVALIDATE. Is there more to this w/a, or is it
truly unnecessary? See gen8_emit_flush_render() and double check that is
sufficient.
-Chris
More information about the mesa-dev
mailing list