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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev