summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-06-04 23:08:07 +0200
committerMarek Olšák <[email protected]>2017-06-07 18:46:21 +0200
commitac0aff722286095ef037beb0017f8c9170ac7c23 (patch)
tree2d5395b3a4d79b288d681139925997d2b7356446 /src/mesa/main
parent3effce4fb062371dd6c08fe57b0c12a20cf7af71 (diff)
mesa: add gl_driver_flags::NewFramebufferSRGB
_NEW_BUFFERS updates too much stuff. Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/main')
-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