This patch regressed i915 systems: https://bugs.freedesktop.org/show_bug.cgi?id=99401
Please don't apply to stable until the bug is resolved. Nicolai Hähnle <nhaeh...@gmail.com> writes: > From: Nicolai Hähnle <nicolai.haeh...@amd.com> > > Add a proper check for feature support, and raise an invalid enum for > GL_CLAMP_VERTEX/FRAGMENT_COLOR unconditionally in core profiles, since > those enums were explicitly removed after the extension was promoted > to core functionality (not in the profile sense) with OpenGL 3.0. > > This matches the behavior of the AMD closed source driver and fixes > GL45-CTS.gtf30.GL3Tests.half_float.half_float_textures. > > Cc: "12.0 13.0" <mesa-sta...@lists.freedesktop.org> > --- > src/mesa/main/blend.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c > index 0322799..955fda1 100644 > --- a/src/mesa/main/blend.c > +++ b/src/mesa/main/blend.c > @@ -854,40 +854,44 @@ _mesa_ColorMaski( GLuint buf, GLboolean red, GLboolean > green, > FLUSH_VERTICES(ctx, _NEW_COLOR); > COPY_4UBV(ctx->Color.ColorMask[buf], tmp); > } > > > void GLAPIENTRY > _mesa_ClampColor(GLenum target, GLenum clamp) > { > GET_CURRENT_CONTEXT(ctx); > > + /* Check for both the extension and the GL version, since the Intel driver > + * does not advertise the extension in core profiles. > + */ > + if (ctx->Version <= 30 && !ctx->Extensions.ARB_color_buffer_float) { > + _mesa_error(ctx, GL_INVALID_OPERATION, "glClampColor()"); > + return; > + } > + > if (clamp != GL_TRUE && clamp != GL_FALSE && clamp != GL_FIXED_ONLY_ARB) { > _mesa_error(ctx, GL_INVALID_ENUM, "glClampColorARB(clamp)"); > return; > } > > switch (target) { > case GL_CLAMP_VERTEX_COLOR_ARB: > - if (ctx->API == API_OPENGL_CORE && > - !ctx->Extensions.ARB_color_buffer_float) { > + if (ctx->API == API_OPENGL_CORE) > goto invalid_enum; > - } > FLUSH_VERTICES(ctx, _NEW_LIGHT); > ctx->Light.ClampVertexColor = clamp; > _mesa_update_clamp_vertex_color(ctx, ctx->DrawBuffer); > break; > case GL_CLAMP_FRAGMENT_COLOR_ARB: > - if (ctx->API == API_OPENGL_CORE && > - !ctx->Extensions.ARB_color_buffer_float) { > + if (ctx->API == API_OPENGL_CORE) > goto invalid_enum; > - } > FLUSH_VERTICES(ctx, _NEW_FRAG_CLAMP); > ctx->Color.ClampFragmentColor = clamp; > _mesa_update_clamp_fragment_color(ctx, ctx->DrawBuffer); > break; > case GL_CLAMP_READ_COLOR_ARB: > ctx->Color.ClampReadColor = clamp; > break; > default: > goto invalid_enum; > } > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev