This is done so that following patch can use it to verify dimenstions for multisample variants of glTex*Storage.
Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> --- src/mesa/main/texstorage.c | 22 +++++++++++++++++++++- src/mesa/main/texstorage.h | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c index 4a2cc60..9a321cc 100644 --- a/src/mesa/main/texstorage.c +++ b/src/mesa/main/texstorage.c @@ -266,6 +266,26 @@ _mesa_AllocTextureStorage_sw(struct gl_context *ctx, return GL_TRUE; } +/** + * Texture width, height and depth check shared with the + * multisample variants of TexStorage functions. + * + * From OpenGL 4.5 Core spec, page 260 (section 8.19) + * + * "An INVALID_VALUE error is generated if width, height, depth + * or levels are less than 1, for commands with the corresponding + * parameters." + * + * (referring to TextureStorage* commands, these also match values + * specified for OpenGL ES 3.1.) + */ +GLboolean +_mesa_tex_storage_invalid_dim(GLsizei width, GLsizei height, GLsizei depth) +{ + if (width < 1 || height < 1 || depth < 1) + return true; + return false; +} /** * Do error checking for calls to glTexStorage1/2/3D(). @@ -287,7 +307,7 @@ tex_storage_error_check(struct gl_context *ctx, * order to allow meta functions to use legacy formats. */ /* size check */ - if (width < 1 || height < 1 || depth < 1) { + if (_mesa_tex_storage_invalid_dim(width, height, depth)) { _mesa_error(ctx, GL_INVALID_VALUE, "glTex%sStorage%uD(width, height or depth < 1)", suffix, dims); diff --git a/src/mesa/main/texstorage.h b/src/mesa/main/texstorage.h index 6f5495f..62108a8 100644 --- a/src/mesa/main/texstorage.h +++ b/src/mesa/main/texstorage.h @@ -98,4 +98,7 @@ _mesa_AllocTextureStorage_sw(struct gl_context *ctx, GLsizei levels, GLsizei width, GLsizei height, GLsizei depth); +extern GLboolean +_mesa_tex_storage_invalid_dim(GLsizei width, GLsizei height, GLsizei depth); + #endif /* TEXSTORAGE_H */ -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev