From: Marek Olšák Date: Sun, 4 Jun 2017 21:08:07 +0000 (+0200) Subject: mesa: add gl_driver_flags::NewFramebufferSRGB X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ac0aff722286095ef037beb0017f8c9170ac7c23;p=mesa.git mesa: add gl_driver_flags::NewFramebufferSRGB _NEW_BUFFERS updates too much stuff. Reviewed-by: Samuel Pitoiset Reviewed-by: Nicolai Hähnle --- 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