vk/graphics_state: Remove vk_subpass_info

It only has a subset of the renderpass state, whereas with turnip we
need to use pretty much all of it at one point or another. Just allow
the driver to pass in the entire vk_render_pass_state if it's using its
own renderpass implementation.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22301>
This commit is contained in:
Connor Abbott
2023-03-29 10:28:25 +02:00
committed by Marge Bot
parent 282e73118d
commit 1d5eeefd9b
4 changed files with 20 additions and 41 deletions

View File

@@ -30,20 +30,16 @@ the render pass and dynamic rendering. For drivers which use
structure will be populated as if for dynamic rendering, regardless of
which path is used. Drivers which use their own render pass structure
should parse the render pass, if available, and pass a
:cpp:struct:`vk_subpass_info` into
:cpp:struct:`vk_render_pass_state` to the `driver_rp` argument of
:cpp:func:`vk_graphics_pipeline_state_fill()` with the relevant information
from the specified subpass. If a render pass is available,
:cpp:struct:`vk_render_pass_state` will be populated with the
:cpp:type:`VkRenderPass` handle and subpass index as well as the
information from the :cpp:struct:`vk_render_pass_state`. If dynamic
rendering is used or the driver does not provide a
:cpp:struct:`vk_subpass_info` structure, :cpp:struct:`vk_render_pass_state`
the information from the :cpp:struct:`driver_rp`. If dynamic
rendering is used or the driver provides a `NULL`
:cpp:struct:`driver_rp`, the :cpp:struct:`vk_render_pass_state`
structure will be populated for dynamic rendering, including color, depth,
and stencil attachment formats.
.. doxygenstruct:: vk_subpass_info
:members:
The usual flow for creating a full graphics pipeline (not library) looks
like this: