From: Bas Nieuwenhuizen Date: Wed, 13 Apr 2011 18:36:15 +0000 (+0200) Subject: r600g: don't flush caches if we already did so, even for a subset of the flags X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=02522b76a1562f8b7317a25e2705927f7bbfed07;p=mesa.git r600g: don't flush caches if we already did so, even for a subset of the flags Merging the flushes that are left doesn't seem to give a significant performance improvement Signed-off-by: Dave Airlie --- diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index c5d81f1a3a2..d91d8f61928 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -800,8 +800,8 @@ void r600_context_bo_flush(struct r600_context *ctx, unsigned flush_flags, struct radeon_bo *bo; bo = r600_bo_get_bo(rbo); - /* if bo has already been flush */ - if (!(bo->last_flush ^ flush_flags)) { + /* if bo has already been flushed */ + if (!(~bo->last_flush & flush_flags)) { bo->last_flush &= flush_mask; return; }