Mesa (master): intel: Rely on Mesa core for glTexImage storage.

Eric Anholt anholt at kemper.freedesktop.org
Mon Oct 3 21:16:58 UTC 2011


Module: Mesa
Branch: master
Commit: 18198e299b52e0301e7264969fdb0351f7f29147
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18198e299b52e0301e7264969fdb0351f7f29147

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Aug  1 15:24:14 2011 -0700

intel: Rely on Mesa core for glTexImage storage.

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/drivers/dri/intel/intel_tex_image.c |   56 ++------------------------
 1 files changed, 4 insertions(+), 52 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c
index c0f609f..65a380b 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_image.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_image.c
@@ -403,62 +403,14 @@ intelTexImage(struct gl_context * ctx,
       return;
    }
 
-   pixels = _mesa_validate_pbo_teximage(ctx, dims, width, height, 1,
-					format, type,
-					pixels, unpack, "glTexImage");
-
-   if (intelImage->mt) {
-      if (pixels != NULL) {
-	 /* Flush any queued rendering with the texture before mapping. */
-	 if (drm_intel_bo_references(intel->batch.bo,
-				     intelImage->mt->region->bo)) {
-	    intel_flush(ctx);
-	 }
-         texImage->Data = intel_miptree_image_map(intel,
-                                                  intelImage->mt,
-                                                  intelImage->base.Base.Face,
-                                                  intelImage->base.Base.Level,
-                                                  &dstRowStride,
-                                                  intelImage->base.Base.ImageOffsets);
-      }
-
-      texImage->RowStride = dstRowStride / intelImage->mt->cpp;
-   }
-
    DBG("Upload image %dx%dx%d row_len %d pitch %d pixels %d\n",
        width, height, depth, width * texelBytes, dstRowStride,
        pixels ? 1 : 0);
 
-   /* Copy data.  Would like to know when it's ok for us to eg. use
-    * the blitter to copy.  Or, use the hardware to do the format
-    * conversion and copy:
-    */
-   if (pixels) {
-      if (!_mesa_texstore(ctx, dims,
-			  texImage->_BaseFormat,
-			  texImage->TexFormat,
-			  texImage->Data, 0, 0, 0, /* dstX/Y/Zoffset */
-			  dstRowStride,
-			  texImage->ImageOffsets,
-			  width, height, depth,
-			  format, type, pixels, unpack)) {
-	 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage");
-      }
-   }
-
-   _mesa_unmap_teximage_pbo(ctx, unpack);
-
-   if (intel->must_use_separate_stencil
-       && texImage->TexFormat == MESA_FORMAT_S8_Z24) {
-      intel_tex_image_s8z24_create_renderbuffers(intel, intelImage);
-      intel_tex_image_s8z24_scatter(intel, intelImage);
-   }
-
-   if (intelImage->mt) {
-      if (pixels != NULL)
-         intel_miptree_image_unmap(intel, intelImage->mt);
-      texImage->Data = NULL;
-   }
+   _mesa_store_teximage3d(ctx, target, level, internalFormat,
+			  width, height, depth, border,
+			  format, type, pixels,
+			  unpack, texObj, texImage);
 }
 
 




More information about the mesa-commit mailing list