Just some quick comments.
I think the term "GAMMA" should be omitted. I'm no expert but I'm not
sure that sRGB is strictly a gamma function. The GL_EXT_texture_sRGB
spec says "The sRGB color space roughly corresponds to 2.2 gamma
correction." Also, the term GAMMA doesn't appear in any of the
existing GLenum values related to sRGB.
Therefore, I think EGL_GAMMA_SRGB_BIT should be just EGL_SRGB_BIT,
EGL_GAMMA_LINEAR -> EGL_LINEAR,
EGL_GAMMA_SRGB -> EGL_SRGB.
For the query, you might use "COLOR_ENCODING" like
GL_ARB_framebuffer_object.
You could also take a look at
http://www.opengl.org/registry/specs/EXT/framebuffer_sRGB.txt to see
how this was handled for GLX and WGL.
-Brian
On 09/26/2012 04:49 AM, John Kåre Alsaker wrote:
EGL_GAMMA_SRGB_BIT should be changed to a boolean EGL config attribute
so it can be optionally sorted by eglChooseConfig. It should be sorted
after EGL_COLOR_BUFFER_TYPE and true values would be preferred. This
sorting should be optional and is done so compositing window managers
can sample the framebuffer as an sRGB texture. EGL_GAMMA_SRGB_BIT
could also optionally be disabled when the format is not supported as
an sRGB texture by the hardware.
On Wed, Sep 26, 2012 at 10:19 AM, John Kåre Alsaker
<john.kare.alsa...@gmail.com> wrote:
The way this would interact with ARB_framebuffer_sRGB is that the
EGL's surface EGL_GAMMA attribute would be ignored. If a EGL config
has the EGL_GAMMA_SRGB_BIT, it is required to support sRGB for the
default OpenGL framebuffer.
On Tue, Sep 25, 2012 at 5:58 PM, John Kåre Alsaker
<john.kare.alsa...@gmail.com> wrote:
Hello,
I would like add support for sRGB framebuffers to EGL. Here are my
proposed changes to EGL:
A new EGL_SURFACE_TYPE bit:
EGL_GAMMA_SRGB_BIT - This format supports sRGB framebuffers. This also
means that ARB_framebuffer_sRGB is supported for this format.
New values:
EGL_GAMMA_LINEAR - The gamma is linear.
EGL_GAMMA_SRGB - The gamma is as defined by the sRGB standard.
New EGL surface attribute:
EGL_GAMMA - The gamma of the surface's framebuffer. The default value
is EGL_GAMMA_LINEAR.
When the surface's EGL_GAMMA attribute's value is EGL_GAMMA_SRGB and
this is supported by
the format, reads from this framebuffer will be converted from sRGB
gamma and writes will
be converted to sRGB gamma. This may not apply to all functions in the
client API.
There may be something related to the ARB_framebuffer_sRGB extension
in EGL already, in
which case someone should link me to it.
There's two assumptions behind this proposal. One is that you won't
support sRGB only
formats. The other is that linear gamma and sRGB gamma format support
is the same.
This means that window systems can't add a new linear gamma format
without adding an sRGB
format and the other way around.
I'd like some comments on this proposal and tips on how it could be
implemented in the
mess that is DRI.
Thanks,
John Kåre
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev