render/vulkan: generalize YCbCr format support

This commit is contained in:
Simon Ser 2023-05-05 12:51:13 +02:00
parent 50b494d0f9
commit c7ae9dfaf8
2 changed files with 81 additions and 24 deletions

View file

@ -150,9 +150,10 @@ struct wlr_vk_render_format_setup {
VkPipeline tex_identity_pipe;
VkPipeline tex_srgb_pipe;
VkPipeline tex_nv12_pipe;
VkPipeline quad_pipe;
VkPipeline output_pipe;
VkPipeline *tex_ycbcr_pipelines; // same length as wlr_vk_renderer.ycbcr_pipeline_layouts
};
// Renderer-internal represenation of an wlr_buffer imported for rendering.
@ -207,7 +208,8 @@ struct wlr_vk_renderer {
VkShaderModule output_module;
struct wlr_vk_pipeline_layout default_pipeline_layout;
struct wlr_vk_pipeline_layout nv12_pipeline_layout;
size_t ycbcr_pipeline_layouts_len;
struct wlr_vk_pipeline_layout *ycbcr_pipeline_layouts;
// for blend->output subpass
VkPipelineLayout output_pipe_layout;