projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
56b99ac
)
r300: Perform the locking closer to the DRM texture upload call.
author
Oliver McFadden
<z3ro.geek@gmail.com>
Sat, 12 May 2007 00:14:33 +0000
(
00:14
+0000)
committer
Oliver McFadden
<z3ro.geek@gmail.com>
Sat, 12 May 2007 00:14:33 +0000
(
00:14
+0000)
This might help if with attaching GDB if the driver gets into a -EAGAIN loop.
src/mesa/drivers/dri/r300/r300_texmem.c
patch
|
blob
|
history
diff --git
a/src/mesa/drivers/dri/r300/r300_texmem.c
b/src/mesa/drivers/dri/r300/r300_texmem.c
index eef5ff186f4c991cddfbd71847f1041c2abae7d5..30f3886542fa79690c64205e761aae28fbbbfd79 100644
(file)
--- 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);