[Mesa-dev] [PATCH 1/3] mesa: minor improvements to _mesa_compute_compressed_pixelstore()

Brian Paul brianp at vmware.com
Fri Aug 15 16:04:12 PDT 2014


Replace the gl_texture_image parameter with mesa_format since we only
used the image's format.

Add some comments.
---
 src/mesa/main/texgetimage.c |    2 +-
 src/mesa/main/texstore.c    |   24 +++++++++++++++++-------
 src/mesa/main/texstore.h    |    9 +++++----
 3 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index f1e09c9..9b2f721 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -693,7 +693,7 @@ _mesa_get_compressed_teximage(struct gl_context *ctx,
    GLuint i, slice;
    GLubyte *dest;
 
-   _mesa_compute_compressed_pixelstore(dimensions, texImage,
+   _mesa_compute_compressed_pixelstore(dimensions, texImage->TexFormat,
                                        texImage->Width, texImage->Height,
                                        texImage->Depth,
                                        &ctx->Pack,
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index f2eb0de..d2aba8b 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -2191,14 +2191,23 @@ _mesa_store_compressed_teximage(struct gl_context *ctx, GLuint dims,
 }
 
 
+/**
+ * Compute compressed_pixelstore parameters for copying compressed
+ * texture data.
+ * \param dims  number of texture image dimensions: 1, 2 or 3
+ * \param texFormat  the compressed texture format
+ * \param width, height, depth  size of image to copy
+ * \param packing  pixelstore parameters describing user-space image packing
+ * \param store  returns the compressed_pixelstore parameters
+ */
 void
-_mesa_compute_compressed_pixelstore(GLuint dims, struct gl_texture_image *texImage,
-                              GLsizei width, GLsizei height, GLsizei depth,
-                              const struct gl_pixelstore_attrib *packing,
-                              struct compressed_pixelstore *store)
+_mesa_compute_compressed_pixelstore(GLuint dims, mesa_format texFormat,
+                                    GLsizei width, GLsizei height,
+                                    GLsizei depth,
+                                    const struct gl_pixelstore_attrib *packing,
+                                    struct compressed_pixelstore *store)
 {
    GLuint bw, bh;
-   const mesa_format texFormat = texImage->TexFormat;
 
    _mesa_get_format_block_size(texFormat, &bw, &bh);
 
@@ -2268,8 +2277,9 @@ _mesa_store_compressed_texsubimage(struct gl_context *ctx, GLuint dims,
       return;
    }
 
-   _mesa_compute_compressed_pixelstore(dims, texImage, width, height, depth,
-                                 &ctx->Unpack, &store);
+   _mesa_compute_compressed_pixelstore(dims, texImage->TexFormat,
+                                       width, height, depth,
+                                       &ctx->Unpack, &store);
 
    /* get pointer to src pixels (may be in a pbo which we'll map here) */
    data = _mesa_validate_pbo_compressed_teximage(ctx, dims, imageSize, data,
diff --git a/src/mesa/main/texstore.h b/src/mesa/main/texstore.h
index dd1e1d0..4c41d1f 100644
--- a/src/mesa/main/texstore.h
+++ b/src/mesa/main/texstore.h
@@ -150,10 +150,11 @@ struct compressed_pixelstore {
 
 
 extern void
-_mesa_compute_compressed_pixelstore(GLuint dims, struct gl_texture_image *texImage,
-                              GLsizei width, GLsizei height, GLsizei depth,
-                              const struct gl_pixelstore_attrib *packing,
-                              struct compressed_pixelstore *store);
+_mesa_compute_compressed_pixelstore(GLuint dims, mesa_format texFormat,
+                                    GLsizei width, GLsizei height,
+                                    GLsizei depth,
+                                    const struct gl_pixelstore_attrib *packing,
+                                    struct compressed_pixelstore *store);
 
 
 #endif
-- 
1.7.10.4



More information about the mesa-dev mailing list