Commit 8021f187 authored by Gert Wollny's avatar Gert Wollny

Gallium: Add new CAPS to indicate whether a driver can switch SRGB write

Add a new cap that indicates whether the drivers supports
enabling/disabling the conversion from linear space to sRGB
for a framebuffer attachment. In Driver terms that this CAP indicates
whether the driver can switcht between a linear and and a sRGB surface
format for draw destinations witout changing the sourface itself.

v2: rename CAP to DEST_SURFACE_SRGB_CONTROL to reflect its
    purpouse better (pointed out by Ilia Mirkin)
Signed-off-by: Gert Wollny's avatarGert Wollny <gert.wollny@collabora.com>
Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
parent 75b3719c
......@@ -334,6 +334,8 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
case PIPE_CAP_SURFACE_SAMPLE_COUNT:
return 0;
case PIPE_CAP_DEST_SURFACE_SRGB_CONTROL:
return 1;
default:
unreachable("bad PIPE_CAP_*");
......
......@@ -484,6 +484,9 @@ The integer capabilities:
images, buffers, and shared memory.
* ``PIPE_CAP_RGB_OVERRIDE_DST_ALPHA_BLEND``: True if the driver needs blend state to use zero/one instead of destination alpha for RGB/XRGB formats.
* ``PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS``: True if the driver wants TESSINNER and TESSOUTER to be inputs (rather than system values) for tessellation evaluation shaders.
* ``PIPE_CAP_DEST_SURFACE_SRGB_CONTROL``: Indicates whether the drivers
supports switching the format between sRGB and linear for a surface that is
used as destination in draw and blit calls.
.. _pipe_capf:
......
......@@ -855,6 +855,7 @@ enum pipe_cap
PIPE_CAP_TGSI_ATOMFADD,
PIPE_CAP_QUERY_PIPELINE_STATISTICS_SINGLE,
PIPE_CAP_RGB_OVERRIDE_DST_ALPHA_BLEND,
PIPE_CAP_DEST_SURFACE_SRGB_CONTROL,
};
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment