mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 21:08:11 +02:00
st/mesa: fix mipmap image size computation w.r.t. texture arrays
The image height or depth is the array_size for array textures. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=47742 NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
This commit is contained in:
parent
281d0fd3a9
commit
318669f196
1 changed files with 15 additions and 3 deletions
|
|
@ -233,10 +233,22 @@ st_generate_mipmap(struct gl_context *ctx, GLenum target,
|
|||
= _mesa_get_tex_image(ctx, texObj, target, srcLevel);
|
||||
struct gl_texture_image *dstImage;
|
||||
struct st_texture_image *stImage;
|
||||
uint dstWidth = u_minify(pt->width0, dstLevel);
|
||||
uint dstHeight = u_minify(pt->height0, dstLevel);
|
||||
uint dstDepth = u_minify(pt->depth0, dstLevel);
|
||||
uint border = srcImage->Border;
|
||||
uint dstWidth, dstHeight, dstDepth;
|
||||
|
||||
dstWidth = u_minify(pt->width0, dstLevel);
|
||||
if (texObj->Target == GL_TEXTURE_1D_ARRAY) {
|
||||
dstHeight = pt->array_size;
|
||||
}
|
||||
else {
|
||||
dstHeight = u_minify(pt->height0, dstLevel);
|
||||
}
|
||||
if (texObj->Target == GL_TEXTURE_2D_ARRAY) {
|
||||
dstDepth = pt->array_size;
|
||||
}
|
||||
else {
|
||||
dstDepth = u_minify(pt->depth0, dstLevel);
|
||||
}
|
||||
|
||||
dstImage = _mesa_get_tex_image(ctx, texObj, target, dstLevel);
|
||||
if (!dstImage) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue