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

Gert Wollny gert.wollny at collabora.com
Tue Nov 6 13:45:01 UTC 2018


Am Montag, den 05.11.2018, 17:00 -0500 schrieb Marek Olšák:
> At the Gallium level, you can change between UNORM and SRGB in
> pipe_surface. If you allocate a texture as SRGB, you should be able
> to use it as LINEAR and vice versa.
> 
> All hardware that supports both LINEAR and SRGB supports this. A
> typical hw driver does that simply by changing the format in the
> framebuffer state.  
The problem is that with virglrenderer I have to rely on the OpenGL
host interface to do this and on a GLES host it is not supported to
simply switch a format from sRGB to linear in a framebuffer attachment
(unless you have EXT_sRGB_write_control there)¹.  In that sense
virglrenderer running on such a GLES host can be seen as a peculiar
piece of hardware that is not (yet) covered by the current Gallium
implementation. 

Best,
Gert






¹I guess it would be possible to emulate this by copying the data to
another surface using sRGB_skip_decode etc, but it is not really an aim
to expose something in the guest that can only be emulated by costly
copying on the host.





More information about the mesa-dev mailing list