intel: use memory copy for intelCmdCloneImageData()

This may still be wrong, but at least it looks better.  We will know better
when we support multisample images and fast clears.
diff --git a/icd/intel/cmd_meta.c b/icd/intel/cmd_meta.c
index 009033c..f59e64f 100644
--- a/icd/intel/cmd_meta.c
+++ b/icd/intel/cmd_meta.c
@@ -690,24 +690,17 @@
     XGL_IMAGE                                   destImage,
     XGL_IMAGE_STATE                             destImageState)
 {
-    const struct intel_img *src = intel_img(srcImage);
-    XGL_IMAGE_COPY region;
-    XGL_UINT lv;
+    struct intel_cmd *cmd = intel_cmd(cmdBuffer);
+    struct intel_img *src = intel_img(srcImage);
+    struct intel_img *dst = intel_img(destImage);
+    XGL_MEMORY_COPY region;
 
     memset(&region, 0, sizeof(region));
-    region.srcSubresource.aspect = XGL_IMAGE_ASPECT_COLOR;
-    region.destSubresource.aspect = XGL_IMAGE_ASPECT_COLOR;
+    region.copySize = src->obj.mem->size;
 
-    for (lv = 0; lv < src->mip_levels; lv++) {
-        region.srcSubresource.mipLevel = lv;
-        region.destSubresource.mipLevel = lv;
-
-        region.extent.width = u_minify(src->layout.width0, lv);
-        region.extent.height = u_minify(src->layout.height0, lv);
-        region.extent.depth = src->array_size;
-
-        intelCmdCopyImage(cmdBuffer, srcImage, destImage, 1, &region);
-    }
+    cmd_batch_flush(cmd, GEN6_PIPE_CONTROL_RENDER_CACHE_FLUSH);
+    intelCmdCopyMemory(cmdBuffer, (XGL_GPU_MEMORY) src->obj.mem,
+            (XGL_GPU_MEMORY) dst->obj.mem, 1, &region);
 }
 
 XGL_VOID XGLAPI intelCmdUpdateMemory(