[Mesa-dev] [PATCH] mesa: Adds check for integer internal formal and num samples in glRenderbufferStorageMultisample

Eduardo Lima Mitev elima at igalia.com
Tue Jan 13 03:22:10 PST 2015


I updated this patch as commented and it is now pending review again.

Thanks,

Eduardo

On 12/15/2014 11:30 AM, Eduardo Lima Mitev wrote:
> Per GLES3 specification, section 4.4 Framebuffer objects page 198, "If
> internalformat is a signed or unsigned integer format and samples is greater
> than zero, then the error INVALID_OPERATION is generated.".
> 
> Fixes 1 dEQP test:
> * dEQP-GLES3.functional.negative_api.buffer.renderbuffer_storage_multisample
> ---
>  src/mesa/main/multisample.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/src/mesa/main/multisample.c b/src/mesa/main/multisample.c
> index 1f3fa0c..b696de9 100644
> --- a/src/mesa/main/multisample.c
> +++ b/src/mesa/main/multisample.c
> @@ -150,6 +150,16 @@ GLenum
>  _mesa_check_sample_count(struct gl_context *ctx, GLenum target,
>                           GLenum internalFormat, GLsizei samples)
>  {
> +   /* Section 4.4 (Framebuffer objects) of the OpenGL 3.0 specification says:
> +    *
> +    *     "If internalformat is a signed or unsigned integer format and samples
> +    *     is greater than zero, then the error INVALID_OPERATION is generated."
> +    */
> +   if (_mesa_is_gles3(ctx) && _mesa_is_enum_format_integer(internalFormat)) {
> +      return GL_INVALID_OPERATION;
> +   }
> +
> +
>     /* If ARB_internalformat_query is supported, then treat its highest
>      * returned sample count as the absolute maximum for this format; it is
>      * allowed to exceed MAX_SAMPLES.
> 



More information about the mesa-dev mailing list