From: Keith Whitwell Date: Wed, 10 Nov 2010 11:03:07 +0000 (+0000) Subject: ws/r600: match bo_busy shared/fence logic in bo_wait X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9a04eca2f865dc3eca31b34ae570cd489b18c240;p=mesa.git ws/r600: match bo_busy shared/fence logic in bo_wait Fixes crash in piglit depthrange-clear. --- diff --git a/src/gallium/winsys/r600/drm/radeon_bo.c b/src/gallium/winsys/r600/drm/radeon_bo.c index 3054782838b..557cfb95970 100644 --- a/src/gallium/winsys/r600/drm/radeon_bo.c +++ b/src/gallium/winsys/r600/drm/radeon_bo.c @@ -153,14 +153,15 @@ int radeon_bo_wait(struct radeon *radeon, struct radeon_bo *bo) struct drm_radeon_gem_wait_idle args; int ret; - if (!bo->fence && !bo->shared) - return 0; - - if (bo->fence <= *bo->ctx->cfence) { - LIST_DELINIT(&bo->fencedlist); - bo->fence = 0; - return 0; - } + if (!bo->shared) { + if (!bo->fence) + return 0; + if (bo->fence <= *bo->ctx->cfence) { + LIST_DELINIT(&bo->fencedlist); + bo->fence = 0; + return 0; + } + } /* Zero out args to make valgrind happy */ memset(&args, 0, sizeof(args));