[Mesa-dev] [PATCH v5 0/3] Add and enable extension EXT_sRGB_write_control

Gert Wollny gert.wollny at collabora.com
Thu Nov 1 15:44:57 UTC 2018


Am Donnerstag, den 01.11.2018, 11:19 -0400 schrieb Ilia Mirkin:
> On Thu, Nov 1, 2018 at 10:41 AM Gert Wollny <gert.wollny at collabora.co
> m> wrote:
> > 
> > Am Donnerstag, den 01.11.2018, 10:34 -0400 schrieb Ilia Mirkin:
> > > On Thu, Nov 1, 2018 at 10:31 AM Gert Wollny <gert.wollny at collabor
> > > a.co
> > > m> wrote:
> > > > 
> > > > Am Donnerstag, den 01.11.2018, 10:15 -0400 schrieb Ilia Mirkin:
> > > > > So ... thinking about this a little more ... how is the new
> > > > > enable
> > > > > different from the existing "EXT_framebuffer_sRGB" enable?
> > > > > When
> > > > > would
> > > > > one be set but not the other?
> > > > 
> > > > This one is a GLES extension, there, if the surface attached to
> > > > a
> > > > framebuffer is sRGB capable, it behaves always like
> > > > glEnable(GL_FRAMEBUFFER_SRGB) is set. With this extension,
> > > > control
> > > > is
> > > > given back to the application. To keep compatibility, the
> > > > default
> > > > is
> > > > still the same behaviour as without the extension (which is
> > > > different
> > > > from desktop GL).
> > > 
> > > Yeah, I get that the details of ext itself are different. I'm
> > > talking
> > > about the enable bit -- would one ever be set but not the other?
> > > If
> > > so, why have two bits?
> > 
> > If a virglrenderer GLES host driver doesn't support the extension,
> > then
> > mesa/virgl can not expose the it (I tried it, it doesn't pass the
> > tests), so there you would have EXT_framebuffer_sRGB, but not
> > EXT_sRGB_write_control.
> 
> So what does a (mesa backend) driver need to be able to do to support
> EXT_sRGB_write_control on top of what's needed for
> EXT_framebuffer_sRGB?
> 
If I attach an sRGB surface to a framebuffer on GLES, then, in order
to support EXT_sRGB_write_control, the backend must be able switch on
and off the linear-sRGB conversion on writes to this attachment.

Best, 
Gert



More information about the mesa-dev mailing list