[Intel-gfx] Tiling regression fix from -rc1

Chris Wilson chris at chris-wilson.co.uk
Fri Jul 10 09:18:48 CEST 2009


There was a report of texture corruption in Google Earth on an i965 with
-rc1. The description matched the artefacts one would expect if you
attempted to access a tiled buffer using either a fenced GPU compare or a
GTT mapping.

The change along that code path is an alteration to avoid unbinding an
object simply due to a tiling change. Where the new tiling is consistent
with the current object allocation, we simply remove any current fence.
Comparing the differences between put_fences() and unbind(), we note that
put_fence() does nothing for i965 and does not touch any page mappings.

To be safe, we should also flush any outstanding access on i965 (with the
advent of execbuffer2 we could actually track whether the fence is still
required for GPU access) and zap the page mappings which will force
reacquisition of the fence the next time the user directly accesses the
buffer through a gtt mmap.
-ickle



More information about the Intel-gfx mailing list