aboutsummaryrefslogtreecommitdiff
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
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.
-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;
}