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.



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to