OSDN Git Service

i965: Emit texture cache flushes on gen6 along with render cache flushes.
authorEric Anholt <eric@anholt.net>
Mon, 25 Jul 2011 18:50:27 +0000 (11:50 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 28 Jul 2011 18:47:45 +0000 (11:47 -0700)
commita03974ffb95bf36240f02ea0d45405ca8030956f
treea862176d67917e9c8f85a47c822ea3a4445a3595
parent2d64d34cb99c0e8144a1127475e593ee1efed555
i965: Emit texture cache flushes on gen6 along with render cache flushes.

It turns out that internally the texture cache gets flushed in a
couple of cases, particularly around 2D operations mixed with 3D.  In
almost all cases one of those happens between rendering to an
FBO-attached texture and rendering from that texture.  However, as of
the next patch, glean tfbo (and the new fbo-flushing-2 test) would
manage to get stale texture values because one of those flushes didn't
occur.  The intention of this code was always to get the render cache
cleared and ready to be used from the sampler cache (and it does on <=
gen4), so this just catches gen5 up.

This patch was also tested to fix fbo-flushing on gen7.
(cherry picked from commit 185868c9c2e6a31a7313df2dbe29490547b65f61)
src/mesa/drivers/dri/intel/intel_batchbuffer.c