From: Marta Lofstedt <marta.lofst...@intel.com> According to OpenGL ES 3.1 specification, section 9.2.1 for glFramebufferParameter and section 9.2.3 for glGetFramebufferParameteriv:
"An INVALID_ENUM error is generated if pname is not FRAMEBUFFER_DEFAULT_WIDTH, FRAMEBUFFER_DEFAULT_HEIGHT, FRAMEBUFFER_DEFAULT_SAMPLES, or FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS." Therefore exclude OpenGL ES 3.1 from using the GL_FRAMEBUFFER_DEFAULT_LAYERS parameter. Signed-off-by: Marta Lofstedt <marta.lofst...@intel.com> --- src/mesa/main/fbobject.c | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 07db195..1bbdd30 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -1389,11 +1389,22 @@ framebuffer_parameteri(struct gl_context *ctx, struct gl_framebuffer *fb, fb->DefaultGeometry.Height = param; break; case GL_FRAMEBUFFER_DEFAULT_LAYERS: - if (param < 0 || param > ctx->Const.MaxFramebufferLayers) - _mesa_error(ctx, GL_INVALID_VALUE, "%s", func); - else - fb->DefaultGeometry.Layers = param; - break; + /* + * According to the OpenGL ES 3.1 specification, + * section 9.2.1, the GL_FRAMEBUFFER_DEFAULT_LAYERS + * parameter name is not supported. + */ + if (_mesa_is_gles31(ctx)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "%s(pname=0x%x)", func, pname); + } + else { + if (param < 0 || param > ctx->Const.MaxFramebufferLayers) + _mesa_error(ctx, GL_INVALID_VALUE, "%s", func); + else + fb->DefaultGeometry.Layers = param; + break; + } case GL_FRAMEBUFFER_DEFAULT_SAMPLES: if (param < 0 || param > ctx->Const.MaxFramebufferSamples) _mesa_error(ctx, GL_INVALID_VALUE, "%s", func); @@ -1451,7 +1462,18 @@ get_framebuffer_parameteriv(struct gl_context *ctx, struct gl_framebuffer *fb, *params = fb->DefaultGeometry.Height; break; case GL_FRAMEBUFFER_DEFAULT_LAYERS: - *params = fb->DefaultGeometry.Layers; + /* + * According to the OpenGL ES 3.1 specification, + * section 9.2.3, the GL_FRAMEBUFFER_LAYERS + * parameter name is not supported. + */ + if (_mesa_is_gles31(ctx)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "%s(pname=0x%x)", func, pname); + } + else { + *params = fb->DefaultGeometry.Layers; + } break; case GL_FRAMEBUFFER_DEFAULT_SAMPLES: *params = fb->DefaultGeometry.NumSamples; -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev