summaryrefslogtreecommitdiff
path: root/shared-core
diff options
context:
space:
mode:
authorchaohong guo <Minskey.Guo@Sun.COM>2007-09-29 18:06:47 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-09-29 18:08:04 +0200
commitf863d23e01bf0b851c2c7addedfaec77ef951a0c (patch)
treeac8406420ea80ffe5ccaadc1ff0124f95709a23d /shared-core
parent215eab6ccfb6d3a22218f996c8215a7dcaf65d01 (diff)
radeon: Commit the ring after each partial texture upload blit.
This makes sure each blit starts as early as possible, which may improve texture upload performance in some cases.
Diffstat (limited to 'shared-core')
-rw-r--r--shared-core/radeon_state.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/shared-core/radeon_state.c b/shared-core/radeon_state.c
index ac7f6011..e3aadfb9 100644
--- a/shared-core/radeon_state.c
+++ b/shared-core/radeon_state.c
@@ -1861,6 +1861,7 @@ static int radeon_cp_dispatch_texture(struct drm_device * dev,
OUT_RING((image->width << 16) | height);
RADEON_WAIT_UNTIL_2D_IDLE();
ADVANCE_RING();
+ COMMIT_RING();
radeon_cp_discard_buffer(dev, buf);
@@ -1878,6 +1879,8 @@ static int radeon_cp_dispatch_texture(struct drm_device * dev,
RADEON_FLUSH_CACHE();
RADEON_WAIT_UNTIL_2D_IDLE();
ADVANCE_RING();
+ COMMIT_RING();
+
return 0;
}
@@ -2401,7 +2404,6 @@ static int radeon_cp_texture(struct drm_device *dev, void *data, struct drm_file
ret = radeon_cp_dispatch_texture(dev, file_priv, tex, &image);
- COMMIT_RING();
return ret;
}