On 01/27/2014 03:16 AM, Kevin Rogovin wrote: > Fixes the tests for the depth parameter for TexImage3D calls when the > target type is GL_TEXTURE_2D_ARRAY or GL_TEXTURE_CUBE_MAP_ARRAY > so that a depth value of 0 is accepted. Previously, the check > incorrectly required the depth argument to be atleast 1.
Oof. It looks like that function could use some significant refactoring. This patch, however, is Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> We should also have a piglit test that tries various combinations of width / height / depth being zero. > --- > src/mesa/main/teximage.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c > index 9c3f1e8..8e2f057 100644 > --- a/src/mesa/main/teximage.c > +++ b/src/mesa/main/teximage.c > @@ -1481,7 +1481,7 @@ _mesa_legal_texture_dimensions(struct gl_context *ctx, > GLenum target, > return GL_FALSE; > if (height < 2 * border || height > 2 * border + maxSize) > return GL_FALSE; > - if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers) > + if (depth < 0 || depth > ctx->Const.MaxArrayTextureLayers) > return GL_FALSE; > if (!ctx->Extensions.ARB_texture_non_power_of_two) { > if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) > @@ -1498,7 +1498,7 @@ _mesa_legal_texture_dimensions(struct gl_context *ctx, > GLenum target, > return GL_FALSE; > if (height < 2 * border || height > 2 * border + maxSize) > return GL_FALSE; > - if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers || depth % 6) > + if (depth < 0 || depth > ctx->Const.MaxArrayTextureLayers || depth % 6) > return GL_FALSE; > if (width != height) > return GL_FALSE; > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev