diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index ef278a318a1..0e07f4c3b9a 100644 --- a/src/mesa/main/enable.c +++ b/src/mesa/main/enable.c @@ -258,7 +258,10 @@ _mesa_set_framebuffer_srgb(struct gl_context *ctx, GLboolean state) { if (ctx->Color.sRGBEnabled == state) return; - FLUSH_VERTICES(ctx, _NEW_BUFFERS); + + /* TODO: Switch i965 to the new flag and remove the conditional */ + FLUSH_VERTICES(ctx, ctx->DriverFlags.NewFramebufferSRGB ? 0 : _NEW_BUFFERS); + ctx->NewDriverState |= ctx->DriverFlags.NewFramebufferSRGB; ctx->Color.sRGBEnabled = state; if (ctx->Driver.Enable) { diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 7ec012321fc..9ac27111974 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -4402,6 +4402,9 @@ struct gl_driver_flags * gl_context::Scissor::WindowRects */ uint64_t NewWindowRectangles; + + /** gl_context::Color::sRGBEnabled */ + uint64_t NewFramebufferSRGB; }; struct gl_uniform_buffer_binding