[Mesa-dev] [PATCH v5 0/3] Add and enable extension EXT_sRGB_write_control
Gert Wollny
gert.wollny at collabora.com
Mon Nov 5 16:02:17 UTC 2018
Am Montag, den 05.11.2018, 08:56 -0500 schrieb Ilia Mirkin:
> At the gallium level, it's a promise that some PIPE_FORMAT_*_SRGB is
> supported for rendering and that you can use a non-srgb format in the
> surface even if the resource was originally allocated with an srgb
> format (and vice-versa). The latter bit is always a requirement for
> gallium drivers, of course.
How so? What if the hardware does not support using a non-srgb format
if the resource was originally allocated with an srgb format?
You might not like it when I bring this example, but if a virglrenderer
GLES host driver doesn't support EXT_sRGB_write_control, then we have
exactly this example: the "hardware" is missing the option to flip a
bit that makes it possible to use a non-srgb format with a resource
that was allocated with an srgb format, but it still supports some SRGB
formats, and since Gallium enables EXT_framebuffer_sRGB based on these
I can not simply use the EXT_framebuffer_sRGB flag to expose
EXT_sRGB_write_control.
Apart from that and as I pointed out before, IMHO using a different
flag for the two things is better for code readability, and using one
byte more in a structure that is not passed around in a runtime-
critical code path is a little price to pay for making it easier for
the next person to understand the code.
Best,
Gert
More information about the mesa-dev
mailing list