vulkan/meta: Add a concept of rect pipelines
authorFaith Ekstrand <faith.ekstrand@collabora.com>
Tue, 31 Jan 2023 02:11:53 +0000 (20:11 -0600)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:31:57 +0000 (21:31 +0000)
commit514c10344e6f2e99776c4bcc907d500f0837dc2b
tree2b1bee1a3ec334dfcc6ae065923a5efeed560c11
parent8418d6c97a4272a441b33e35b08710462cb73739
vulkan/meta: Add a concept of rect pipelines

Most hardware supports some sort of rectangle primitive.  This adds a
new VK_PRIMITIVE_TOPOLOGY_RECT_LIST_MESA which will be used by the vast
majority of (if not all) meta commands.  Drivers can key off of of this
to build pipelines differently and implement their own cmd_draw_rects
and cmd_draw_volume hooks or they can map it to TRIANGLE_LIST and use
the provided helpers.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
src/vulkan/runtime/meson.build
src/vulkan/runtime/vk_meta.c
src/vulkan/runtime/vk_meta.h
src/vulkan/runtime/vk_meta_draw_rects.c [new file with mode: 0644]
src/vulkan/runtime/vk_meta_private.h [new file with mode: 0644]