X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexstorage.h;h=e80a9ff5b99299fa891cf049b0c5be3f5858119e;hb=a56a505db72b0a5ff973a489a094186d7dfcd9e7;hp=6f5495f38563340e6cf1afac1c442278d00025e5;hpb=5a5fe9f308908a6c09f910429d0d3021fdbf7872;p=mesa.git diff --git a/src/mesa/main/texstorage.h b/src/mesa/main/texstorage.h index 6f5495f3856..e80a9ff5b99 100644 --- a/src/mesa/main/texstorage.h +++ b/src/mesa/main/texstorage.h @@ -38,6 +38,27 @@ _mesa_texture_storage(struct gl_context *ctx, GLuint dims, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, bool dsa); +/** + * 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.) + */ +static inline bool +_mesa_valid_tex_storage_dim(GLsizei width, GLsizei height, GLsizei depth) +{ + if (width < 1 || height < 1 || depth < 1) + return false; + return true; +} + /*@}*/ /** @@ -90,7 +111,8 @@ _mesa_TextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLsizei width, GLsizei height, GLsizei depth); extern GLboolean -_mesa_is_legal_tex_storage_format(struct gl_context *ctx, GLenum internalformat); +_mesa_is_legal_tex_storage_format(const struct gl_context *ctx, + GLenum internalformat); extern GLboolean _mesa_AllocTextureStorage_sw(struct gl_context *ctx,