[Mesa-dev] [PATCH v2 1/3] mesa: expose dimension check for glTex*Storage functions

Anuj Phogat anuj.phogat at gmail.com
Fri Aug 14 10:20:27 PDT 2015


On Wed, Aug 12, 2015 at 11:30 PM, Tapani Pälli <tapani.palli at intel.com> wrote:
> 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
>
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>  src/mesa/main/texstorage.c |  2 +-
>  src/mesa/main/texstorage.h | 21 +++++++++++++++++++++
>  2 files changed, 22 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c
> index 4a2cc60..50a980f 100644
> --- a/src/mesa/main/texstorage.c
> +++ b/src/mesa/main/texstorage.c
> @@ -287,7 +287,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..e23d53a 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_tex_storage_invalid_dim(GLsizei width, GLsizei height, GLsizei depth)
How about naming it _mesa_valid_tex_storage_dim() and then doing the check
!_mesa_tex_storage_invalid_dim() ? That's how you named other functions in
patch 2.
> +{
> +   if (width < 1 || height < 1 || depth < 1)
> +      return true;
> +   return false;
> +}
> +
>  /*@}*/
>
>  /**
> --
> 2.1.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

With or without suggested change:
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list