From 9b4c6da7f08f3e1ae5df2d51e2b1dcf316d19288 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 15 Aug 2014 15:21:01 -0600 Subject: mesa: minor improvements to _mesa_compute_compressed_pixelstore() Replace the gl_texture_image parameter with mesa_format since we only used the image's format. Add some comments. Reviewed-by: Matt Turner --- 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 -- cgit v1.1