[Mesa-dev] [PATCH] r600g: Replace needless flush in texture upload.

Fredrik Höglund fredrik at kde.org
Thu Oct 27 09:17:00 PDT 2011


On Thursday 27 October 2011, Mathias Fröhlich wrote:
> 
> Hi,
> 
> On Saturday, October 22, 2011 13:36:37 Mathias Fröhlich wrote:
> > The attached patch reduces the amount of pipe flushes for r600g.
> > I am not exactly sure if we could skip this flush entirely because of the
> > internal r600g winsys flush logic.
> > But what we can do is the attached patch:
> > 
> > Replace pipe->flush() with pipe->texture_barrier() in
> > the texture upload path for the staging texture.
> > This should be enough to get data out of the gpu
> > caches ready to be read for texture fetch.
> > 
> > Please review.
> Any comment on that?
> 
> May be I need to mention that it passed r600g piglit tests on an rv770 and 
> rv635.
> Additionally I am running that on my installed systems since july.

A problem with texture_barrier() is that it flushes and invalidates
all the texture and cb caches. It may be an improvement over
pipe->flush(), but if we know which texture(s) are involved, I think
we should be able to do better.

Other than that I don't see a problem with it, assuming that
flushing the caches is the only reason for calling pipe->flush()
here.

Regards,
Fredrik



More information about the mesa-dev mailing list