[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