On Thu, Feb 04, 2010 at 03:42:26AM +0200, Pauli Nieminen wrote: > Cache flush is required in case CPU is accessing rendered data. > > This fixes glean/readPixSanity test case and random rendering > errors in sauerbraten.
Doing this flush are ok, couple of patch style comment below. Reviewed-by: Jerome Glisse <jgli...@redhat.com> > > Signed-off-by: Pauli Nieminen <suok...@gmail.com> > --- > drivers/gpu/drm/radeon/r100.c | 6 ++++++ > drivers/gpu/drm/radeon/radeon_reg.h | 2 ++ > 2 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c > index 11c9a3f..6f4f7ea 100644 > --- a/drivers/gpu/drm/radeon/r100.c > +++ b/drivers/gpu/drm/radeon/r100.c > @@ -357,6 +357,12 @@ u32 r100_get_vblank_counter(struct radeon_device *rdev, > int crtc) > void r100_fence_ring_emit(struct radeon_device *rdev, > struct radeon_fence *fence) > { > + /* We have to make sure that caches are flushed before > + * CPU might read something from VRAM. */ > + radeon_ring_write(rdev, PACKET0(RADEON_RB3D_DSTCACHE_CTLSTAT, 0)); > + radeon_ring_write(rdev, RADEON_RB3D_DC_FLUSH_ALL); > + radeon_ring_write(rdev, PACKET0(RADEON_RB3D_ZCACHE_CTLSTAT, 0)); > + radeon_ring_write(rdev, RADEON_RB3D_ZC_FLUSH_ALL); Move it below the following comment > /* Who ever call radeon_fence_emit should call ring_lock and ask > * for enough space (today caller are ib schedule and buffer move) */ > /* Wait until IDLE & CLEAN */ > diff --git a/drivers/gpu/drm/radeon/radeon_reg.h > b/drivers/gpu/drm/radeon/radeon_reg.h > index 6d0a009..5581dab 100644 > --- a/drivers/gpu/drm/radeon/radeon_reg.h > +++ b/drivers/gpu/drm/radeon/radeon_reg.h > @@ -1578,6 +1578,8 @@ > > #define RADEON_RB3D_ZCACHE_MODE 0x3250 > #define RADEON_RB3D_ZCACHE_CTLSTAT 0x3254 > +# define RADEON_RB3D_ZC_FLUSH 0x1 > +# define RADEON_RB3D_ZC_FREE 0x4 Useless addition you don't use them. > # define RADEON_RB3D_ZC_FLUSH_ALL 0x5 > #define RADEON_RB3D_DSTCACHE_MODE 0x3258 > # define RADEON_RB3D_DC_CACHE_ENABLE (0) > -- > 1.6.3.3 > > > ------------------------------------------------------------------------------ > The Planet: dedicated and managed hosting, cloud storage, colocation > Stay online with enterprise data centers and the best network in the business > Choose flexible plans and management services without long-term contracts > Personal 24x7 support from experience hosting pros just a phone call away. > http://p.sf.net/sfu/theplanet-com > -- > _______________________________________________ > Dri-devel mailing list > Dri-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dri-devel > ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel