gallium: Add a PIPE_CAP_FRAGMENT_SHADER_INTERLOCK.

Corresponding to GL_ARB_fragment_shader_interlock and
GL_NV_fragment_shader_interlock.  Currently, only the NIR paths
support this functionality, but someone could conceivably add it
to TGSI too.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Kenneth Graunke 2019-05-10 18:32:46 -07:00
parent 4efd04ab18
commit c704c0226c
3 changed files with 4 additions and 0 deletions

View file

@ -522,6 +522,8 @@ The integer capabilities:
resource_from_handle and resource_get_handle.
* ``PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA``: Whether VDPAU, VAAPI, and
OpenMAX should use a compute-based blit instead of pipe_context::blit.
* ``PIPE_CAP_FRAGMENT_SHADER_INTERLOCK``: True if fragment shader interlock
functionality is supported.
.. _pipe_capf:

View file

@ -883,6 +883,7 @@ enum pipe_cap
PIPE_CAP_MAX_FRAMES_IN_FLIGHT,
PIPE_CAP_DMABUF,
PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA,
PIPE_CAP_FRAGMENT_SHADER_INTERLOCK,
};
/**

View file

@ -745,6 +745,7 @@ void st_init_extensions(struct pipe_screen *screen,
{ o(ARB_transform_feedback2), PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME },
{ o(ARB_transform_feedback3), PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS },
{ o(ARB_transform_feedback_overflow_query), PIPE_CAP_QUERY_SO_OVERFLOW },
{ o(ARB_fragment_shader_interlock), PIPE_CAP_FRAGMENT_SHADER_INTERLOCK },
{ o(KHR_blend_equation_advanced), PIPE_CAP_TGSI_FS_FBFETCH },