On 12/11/2014 02:34 PM, 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/fbobject.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
> index 7e1ff1b..a18f11c 100644
> --- a/src/mesa/main/fbobject.c
> +++ b/src/mesa/main/fbobject.c
> @@ -1814,6 +1814,15 @@ renderbuffer_storage(GLenum target, GLenum 
> internalFormat,
>        samples = 0;
>     }
>     else {
> +      if (_mesa_is_gles3(ctx) && 
> _mesa_is_enum_format_integer(internalFormat)) {
> +         /* 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.".
> +          */

Please use the canonical spec quotation format:

         /* 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."
          */

It also seems like this check belongs in _mesa_check_sample_count.  I
expect textures have the same limitation.

> +         _mesa_error(ctx, GL_INVALID_OPERATION, "%s(samples)", func);
> +         return;
> +      }
> +
>        /* check the sample count;
>         * note: driver may choose to use more samples than what's requested
>         */
> 

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to