[Mesa-dev] [PATCH 1/5] mesa: add gl_driver_flags::NewFramebufferSRGB
Samuel Pitoiset
samuel.pitoiset at gmail.com
Mon Jun 5 19:42:06 UTC 2017
On 06/05/2017 06:50 PM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> _NEW_BUFFERS updates too much stuff.
Yeah, _NEW_BUFFERS is something bad.
For now, 1-4 are:
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> src/mesa/main/enable.c | 5 ++++-
> src/mesa/main/mtypes.h | 3 +++
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
> index ef278a3..0e07f4c 100644
> --- a/src/mesa/main/enable.c
> +++ b/src/mesa/main/enable.c
> @@ -251,21 +251,24 @@ _mesa_set_multisample(struct gl_context *ctx, GLboolean state)
>
> /**
> * Helper function to enable or disable GL_FRAMEBUFFER_SRGB, skipping the
> * check for whether the API supports it (GLES doesn't).
> */
> void
> _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) {
> ctx->Driver.Enable(ctx, GL_FRAMEBUFFER_SRGB, state);
> }
> }
>
> /**
> * Helper function to enable or disable state.
> *
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index 9ef1b18..b7e7612 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -4390,20 +4390,23 @@ struct gl_driver_flags
>
> /**
> * gl_context::TessCtrlProgram::patch_default_*
> */
> uint64_t NewDefaultTessLevels;
>
> /**
> * gl_context::IntelConservativeRasterization
> */
> uint64_t NewIntelConservativeRasterization;
> +
> + /** gl_context::Color::sRGBEnabled */
> + uint64_t NewFramebufferSRGB;
> };
>
> struct gl_uniform_buffer_binding
> {
> struct gl_buffer_object *BufferObject;
> /** Start of uniform block data in the buffer */
> GLintptr Offset;
> /** Size of data allowed to be referenced from the buffer (in bytes) */
> GLsizeiptr Size;
> /**
>
More information about the mesa-dev
mailing list