summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/main/enable.c5
-rw-r--r--src/mesa/main/mtypes.h3
2 files changed, 7 insertions, 1 deletions
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