Author: rnoland
Date: Sun Sep 13 11:10:38 2009
New Revision: 197155
URL: http://svn.freebsd.org/changeset/base/197155

Log:
  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

Modified:
  head/sys/dev/drm/r600_blit.c

Modified: head/sys/dev/drm/r600_blit.c
==============================================================================
--- head/sys/dev/drm/r600_blit.c        Sun Sep 13 11:08:06 2009        
(r197154)
+++ head/sys/dev/drm/r600_blit.c        Sun Sep 13 11:10:38 2009        
(r197155)
@@ -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;
                }
        }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to