mesa: Update comments/assertions about buffer mapping for glGetTexImage().
authorBrian Paul <brianp@vmware.com>
Mon, 1 Aug 2011 04:00:55 +0000 (21:00 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 27 Sep 2011 19:12:07 +0000 (12:12 -0700)
This code is about to stop needing ->Data and using MapTextureImage().

Tested-by: Brian Paul <brianp@vmware.com>
src/mesa/main/texgetimage.c

index 4d58309431286a42ab0fe58e432c331efb8c3991..a5e499a531e9f39e42212b7026dc27beaf126124 100644 (file)
@@ -409,7 +409,8 @@ get_tex_memcpy(struct gl_context *ctx, GLenum format, GLenum type, GLvoid *pixel
 /**
  * This is the software fallback for Driver.GetTexImage().
  * All error checking will have been done before this routine is called.
- * The texture image must be mapped.
+ * We'll call ctx->Driver.MapTextureImage() to access the data, then
+ * unmap with ctx->Driver.UnmapTextureImage().
  */
 void
 _mesa_get_teximage(struct gl_context *ctx, GLenum target, GLint level,
@@ -419,9 +420,6 @@ _mesa_get_teximage(struct gl_context *ctx, GLenum target, GLint level,
 {
    GLuint dimensions;
 
-   /* If we get here, the texture image should be mapped */
-   assert(texImage->Data);
-
    switch (target) {
    case GL_TEXTURE_1D:
       dimensions = 1;
@@ -433,6 +431,7 @@ _mesa_get_teximage(struct gl_context *ctx, GLenum target, GLint level,
       dimensions = 2;
    }
 
+   /* map dest buffer, if PBO */
    if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
       /* Packing texture image into a PBO.
        * Map the (potentially) VRAM-based buffer into our process space so