[Mesa-dev] [PATCH 13/16] mesa: Adds check for integer internal formal and num samples in glRenderbufferStorageMultisample
Ian Romanick
idr at freedesktop.org
Thu Dec 11 18:27:24 PST 2014
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
> */
>
More information about the mesa-dev
mailing list