summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm/r600_blit.c
diff options
context:
space:
mode:
authorrnoland <rnoland@FreeBSD.org>2009-09-13 11:10:38 +0000
committerrnoland <rnoland@FreeBSD.org>2009-09-13 11:10:38 +0000
commit5e6cfce650dd3e31871ff4c08ea2faebbcfbacd9 (patch)
tree3aef440ff884d8feb3d445b6db713bb1f7d8d9ef /sys/dev/drm/r600_blit.c
parent7ea7343ded43c86ea5295160c77a7ddee422fbc8 (diff)
downloadFreeBSD-src-5e6cfce650dd3e31871ff4c08ea2faebbcfbacd9.zip
FreeBSD-src-5e6cfce650dd3e31871ff4c08ea2faebbcfbacd9.tar.gz
Add a couple of small fixes from the AMD folks.
- max tex height is 8192 - increment src/dst by the full transfer amount MFC after: 3 days
Diffstat (limited to 'sys/dev/drm/r600_blit.c')
-rw-r--r--sys/dev/drm/r600_blit.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/dev/drm/r600_blit.c b/sys/dev/drm/r600_blit.c
index 4848579..91690d2 100644
--- a/sys/dev/drm/r600_blit.c
+++ b/sys/dev/drm/r600_blit.c
@@ -1734,6 +1734,8 @@ r600_blit_copy(struct drm_device *dev,
if (!src_x && !dst_x) {
h = (cur_size / max_bytes);
+ if (h > 8192)
+ h = 8192;
if (h == 0)
h = 1;
else
@@ -1805,8 +1807,8 @@ r600_blit_copy(struct drm_device *dev,
vb += 12;
dev_priv->blit_vb->used += 12 * 4;
- src_gpu_addr += cur_size;
- dst_gpu_addr += cur_size;
+ src_gpu_addr += cur_size * h;
+ dst_gpu_addr += cur_size * h;
size_bytes -= cur_size * h;
}
} else {
@@ -1822,6 +1824,8 @@ r600_blit_copy(struct drm_device *dev,
if (!src_x && !dst_x) {
h = (cur_size / max_bytes);
+ if (h > 8192)
+ h = 8192;
if (h == 0)
h = 1;
else
@@ -1894,8 +1898,8 @@ r600_blit_copy(struct drm_device *dev,
vb += 12;
dev_priv->blit_vb->used += 12 * 4;
- src_gpu_addr += cur_size;
- dst_gpu_addr += cur_size;
+ src_gpu_addr += cur_size * h;
+ dst_gpu_addr += cur_size * h;
size_bytes -= cur_size * h;
}
}
OpenPOWER on IntegriCloud