On 25 September 2012 14:50, Jordan Justen <jljus...@gmail.com> wrote:
> On Mon, Sep 24, 2012 at 4:49 PM, Paul Berry <stereotype...@gmail.com> > wrote: > > GLES 3 supports sRGB functionality, but it does not expose the > > GL_FRAMEBUFFER_SRGB enable/disable bit. Instead the implementation > > is expected to behave as though that bit is always enabled. > > > > This patch ensures that ctx->Color.sRGBEnabled (the internal variable > > tracking GL_FRAMEBUFFER_SRG) is initially true in GLES 2/3 contexts, > > And, changing this default state is okay for GLES2? > Yes, it should be, since GLES2 implementations don't support any SRGB formats, and GL_FRAMEBUFFER_SRGB only has an effect when rendering to an SRGB format framebuffer. I'll add a note to the commit message to clarify that. > > SRG => SRGB > Gah! My fingers must be color-blind. Thanks. > > Series: > Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > > > and that it cannot be modified through the GLES 3 API. > > --- > > src/mesa/main/blend.c | 7 +++++++ > > src/mesa/main/enable.c | 4 ++-- > > 2 files changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c > > index de871a9..5d55311 100644 > > --- a/src/mesa/main/blend.c > > +++ b/src/mesa/main/blend.c > > @@ -858,6 +858,13 @@ void _mesa_init_color( struct gl_context * ctx ) > > ctx->Color._ClampFragmentColor = GL_TRUE; > > ctx->Color.ClampReadColor = GL_FIXED_ONLY_ARB; > > ctx->Color._ClampReadColor = GL_TRUE; > > + > > + if (ctx->API == API_OPENGLES2) { > > + /* GLES 3 behaves as though GL_FRAMEBUFFER_SRGB is always > enabled. */ > > + ctx->Color.sRGBEnabled = GL_TRUE; > > + } else { > > + ctx->Color.sRGBEnabled = GL_FALSE; > > + } > > } > > > > /*@}*/ > > diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c > > index 676cd9b..a607bdc 100644 > > --- a/src/mesa/main/enable.c > > +++ b/src/mesa/main/enable.c > > @@ -1061,7 +1061,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum > cap, GLboolean state) > > > > /* GL3.0 - GL_framebuffer_sRGB */ > > case GL_FRAMEBUFFER_SRGB_EXT: > > - if (!_mesa_is_desktop_gl(ctx) && !_mesa_is_gles3(ctx)) > > + if (!_mesa_is_desktop_gl(ctx)) > > goto invalid_enum_error; > > CHECK_EXTENSION(EXT_framebuffer_sRGB, cap); > > _mesa_set_framebuffer_srgb(ctx, state); > > @@ -1715,7 +1715,7 @@ _mesa_IsEnabled( GLenum cap ) > > > > /* GL3.0 - GL_framebuffer_sRGB */ > > case GL_FRAMEBUFFER_SRGB_EXT: > > - if (!_mesa_is_desktop_gl(ctx) && !_mesa_is_gles3(ctx)) > > + if (!_mesa_is_desktop_gl(ctx)) > > goto invalid_enum_error; > > CHECK_EXTENSION(EXT_framebuffer_sRGB); > > return ctx->Color.sRGBEnabled; > > -- > > 1.7.12.1 > > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev