diff options
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/texgetimage.c | 2 | ||||
-rw-r--r-- | src/mesa/main/texstore.c | 24 | ||||
-rw-r--r-- | 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 f1e09c986aa..9b2f72150ec 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 f2eb0def233..d2aba8ba1e3 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 dd1e1d01562..4c41d1fcd9a 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 |