st/mesa: make winsys fbo sRGB-capable when supported
authorChia-I Wu <olvaffe@gmail.com>
Mon, 3 Mar 2014 04:44:43 +0000 (12:44 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Thu, 6 Mar 2014 02:59:25 +0000 (10:59 +0800)
commit4c68c6dcffe6c738d563eb0e0650bb865a5457b2
tree184258c93e8ff7d80ed182e54b41cd306efd1c63
parent6d23ca1621cf2c68b0bab02374061ec026cb6ef3
st/mesa: make winsys fbo sRGB-capable when supported

The texture formats of winsys fbo are always linear becase the st manager
(st/dri for example) could not know the colorspace used.  But it does not mean
that we cannot make the fbo sRGB-capable.  By

 - setting rb->Visual.sRGBCapable to GL_TRUE when the pipe driver supports the
   format in sRGB colorspace,
 - giving rb an sRGB internal format, and
 - updating code to check rb->Format instead of strb->texture->format,

we should be good.

Fixed bug 75226 for at least llvmpipe and ilo, with no piglit regression.

v2: do not set rb->Visual.sRGBCapable for GLES contexts to avoid surprises

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75226

Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
src/mesa/state_tracker/st_atom_framebuffer.c
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_manager.c