/* copy (x,y,width,height,data) */
memcpy( &tmp, &t->image[face][hwlevel], sizeof(tmp) );
+ /* Adjust the base offset to account for the Y-offset. This is done,
+ * instead of just letting the Y-offset automatically take care of it,
+ * because it is possible, for very large textures, for the Y-offset
+ * to exceede the [-8192,+8191] range.
+ */
+ tex.offset += tmp.y * 1024;
+ tmp.y = 0;
+
LOCK_HARDWARE( rmesa );
do {
ret = drmCommandWriteRead( rmesa->dri.fd, DRM_RADEON_TEXTURE,