From 93881edb46fc95e1cfb4ded4e8a5db92612d3e4d Mon Sep 17 00:00:00 2001 From: Oliver McFadden Date: Sat, 12 May 2007 00:14:33 +0000 Subject: r300: Perform the locking closer to the DRM texture upload call. This might help if with attaching GDB if the driver gets into a -EAGAIN loop. --- src/mesa/drivers/dri/r300/r300_texmem.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/r300/r300_texmem.c b/src/mesa/drivers/dri/r300/r300_texmem.c index eef5ff186f..30f3886542 100644 --- a/src/mesa/drivers/dri/r300/r300_texmem.c +++ b/src/mesa/drivers/dri/r300/r300_texmem.c @@ -469,12 +469,14 @@ static void r300UploadSubImage(r300ContextPtr rmesa, r300TexObjPtr t, } } - LOCK_HARDWARE(&rmesa->radeon); do { + LOCK_HARDWARE(&rmesa->radeon); ret = drmCommandWriteRead(rmesa->radeon.dri.fd, DRM_RADEON_TEXTURE, &tex, sizeof(drm_radeon_texture_t)); + UNLOCK_HARDWARE(&rmesa->radeon); + if (ret) { if (RADEON_DEBUG & DEBUG_IOCTL) fprintf(stderr, @@ -483,8 +485,6 @@ static void r300UploadSubImage(r300ContextPtr rmesa, r300TexObjPtr t, } } while (ret == -EAGAIN); - UNLOCK_HARDWARE(&rmesa->radeon); - if (ret) { fprintf(stderr, "DRM_RADEON_TEXTURE: return = %d\n", ret); fprintf(stderr, " offset=0x%08x\n", offset); -- cgit v1.2.3