diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2015-08-10 10:50:06 +0300 |
---|---|---|
committer | Tapani Pälli <tapani.palli@intel.com> | 2015-08-19 07:25:09 +0300 |
commit | a342becc490b38436396e98ee653a6b81c037663 (patch) | |
tree | 771384c83532f93f62842ccf2ee5bddf6f9b590d /src/mesa/main/texstorage.h | |
parent | 2b40a144b7a589ebd5e80c9a8a8241c53201035e (diff) | |
download | external_mesa3d-a342becc490b38436396e98ee653a6b81c037663.zip external_mesa3d-a342becc490b38436396e98ee653a6b81c037663.tar.gz external_mesa3d-a342becc490b38436396e98ee653a6b81c037663.tar.bz2 |
mesa: expose dimension check for glTex*Storage functions
This is done so that following patch can use it to verify dimensions
for multisample variants of glTex*Storage.
v2: move function to header, use bool instead GLboolean
v3: small changes, cleanup
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Timothy Arceri <t_arceri@yahoo.com.au>
Diffstat (limited to 'src/mesa/main/texstorage.h')
-rw-r--r-- | src/mesa/main/texstorage.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/mesa/main/texstorage.h b/src/mesa/main/texstorage.h index 6f5495f..033ecb7 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; +} + /*@}*/ /** |