Commit eed0f722 authored by chaohong guo's avatar chaohong guo Committed by Dave Airlie

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.
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 54583bf4
...@@ -1861,6 +1861,7 @@ static int radeon_cp_dispatch_texture(struct drm_device * dev, ...@@ -1861,6 +1861,7 @@ static int radeon_cp_dispatch_texture(struct drm_device * dev,
OUT_RING((image->width << 16) | height); OUT_RING((image->width << 16) | height);
RADEON_WAIT_UNTIL_2D_IDLE(); RADEON_WAIT_UNTIL_2D_IDLE();
ADVANCE_RING(); ADVANCE_RING();
COMMIT_RING();
radeon_cp_discard_buffer(dev, buf); radeon_cp_discard_buffer(dev, buf);
...@@ -1878,6 +1879,8 @@ static int radeon_cp_dispatch_texture(struct drm_device * dev, ...@@ -1878,6 +1879,8 @@ static int radeon_cp_dispatch_texture(struct drm_device * dev,
RADEON_FLUSH_CACHE(); RADEON_FLUSH_CACHE();
RADEON_WAIT_UNTIL_2D_IDLE(); RADEON_WAIT_UNTIL_2D_IDLE();
ADVANCE_RING(); ADVANCE_RING();
COMMIT_RING();
return 0; return 0;
} }
...@@ -2378,7 +2381,6 @@ static int radeon_cp_texture(struct drm_device *dev, void *data, struct drm_file ...@@ -2378,7 +2381,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); ret = radeon_cp_dispatch_texture(dev, file_priv, tex, &image);
COMMIT_RING();
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment