diff options
author | marha <marha@users.sourceforge.net> | 2012-03-26 14:37:05 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-03-26 14:37:05 +0200 |
commit | fb2b04331b6ae2cd11f6132cf16f6fcd848fb6b8 (patch) | |
tree | d9b7345ddfe702b820c7020fb784f0e3dc2253bf /mesalib/src/mesa/state_tracker/st_gen_mipmap.c | |
parent | 76bcc36ed305418a3ddc5752d287ede894243e1b (diff) | |
parent | 1d6d472342aee7b9c68e9f1d92762ef808d35ac2 (diff) | |
download | vcxsrv-fb2b04331b6ae2cd11f6132cf16f6fcd848fb6b8.tar.gz vcxsrv-fb2b04331b6ae2cd11f6132cf16f6fcd848fb6b8.tar.bz2 vcxsrv-fb2b04331b6ae2cd11f6132cf16f6fcd848fb6b8.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_gen_mipmap.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_gen_mipmap.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_gen_mipmap.c b/mesalib/src/mesa/state_tracker/st_gen_mipmap.c index d3496642f..889200686 100644 --- a/mesalib/src/mesa/state_tracker/st_gen_mipmap.c +++ b/mesalib/src/mesa/state_tracker/st_gen_mipmap.c @@ -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) { |