From c2e264fd9656e4a62e374b9e73207e2307b40d8e Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Wed, 27 Feb 2013 23:19:55 -0800 Subject: attrib: push/pop FRAGMENT_PROGRAM_ARB state This requirement was added by ARB_fragment_program When the Steam overlay is enabled, this fixes: * Menu corruption with the Puddle game * The screen going black on Rochard when the Steam overlay is accessed NOTE: This is a candidate for the 9.0 and 9.1 branches. Signed-off-by: Jordan Justen Reviewed-by: Brian Paul (cherry picked from commit 6f1538f8b4b253ba7aa92c98997719ce3ca59451) --- src/mesa/main/attrib.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index 2c6205e770..7e42e93567 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -132,6 +132,9 @@ struct gl_enable_attrib GLboolean VertexProgramPointSize; GLboolean VertexProgramTwoSide; + /* GL_ARB_fragment_program */ + GLboolean FragmentProgram; + /* GL_ARB_point_sprite / GL_NV_point_sprite */ GLboolean PointSprite; GLboolean FragmentShaderATI; @@ -324,6 +327,10 @@ _mesa_PushAttrib(GLbitfield mask) attr->VertexProgram = ctx->VertexProgram.Enabled; attr->VertexProgramPointSize = ctx->VertexProgram.PointSizeEnabled; attr->VertexProgramTwoSide = ctx->VertexProgram.TwoSideEnabled; + + /* GL_ARB_fragment_program */ + attr->FragmentProgram = ctx->FragmentProgram.Enabled; + save_attrib_data(&head, GL_ENABLE_BIT, attr); /* GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB */ @@ -623,6 +630,11 @@ pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib *enable) enable->VertexProgramTwoSide, GL_VERTEX_PROGRAM_TWO_SIDE_ARB); + /* GL_ARB_fragment_program */ + TEST_AND_UPDATE(ctx->FragmentProgram.Enabled, + enable->FragmentProgram, + GL_FRAGMENT_PROGRAM_ARB); + /* GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB */ TEST_AND_UPDATE(ctx->Color.sRGBEnabled, enable->sRGBEnabled, GL_FRAMEBUFFER_SRGB); -- cgit v1.2.3