diff options
author | rnoland <rnoland@FreeBSD.org> | 2009-09-13 11:10:38 +0000 |
---|---|---|
committer | rnoland <rnoland@FreeBSD.org> | 2009-09-13 11:10:38 +0000 |
commit | 5e6cfce650dd3e31871ff4c08ea2faebbcfbacd9 (patch) | |
tree | 3aef440ff884d8feb3d445b6db713bb1f7d8d9ef /sys/dev/drm/r600_blit.c | |
parent | 7ea7343ded43c86ea5295160c77a7ddee422fbc8 (diff) | |
download | FreeBSD-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.c | 12 |
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; } } |