[Intel-gfx] Tiling regression fix from -rc1
Jesse Barnes
jbarnes at virtuousgeek.org
Tue Jul 14 23:17:27 CEST 2009
On Fri, 10 Jul 2009 08:18:48 +0100
Chris Wilson <chris at chris-wilson.co.uk> wrote:
>
> 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.
Both of these patches look good on their own. I think Eric's questions
about how we might hit these cases are still valid, but the patches are
valuable cleanups in their own right, and definitely *look* more
correct than current code.
Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list