Merge branch 'vulkan-output-shader-variants' into 'master'

Draft: render/vulkan: Use shader variants for different output transforms

See merge request wlroots/wlroots!4817
This commit is contained in:
Alexander Orzechowski 2025-02-18 03:16:34 +00:00
commit 9b09a25b25
5 changed files with 119 additions and 223 deletions

View file

@ -271,7 +271,8 @@ struct wlr_vk_renderer {
VkShaderModule vert_module;
VkShaderModule tex_frag_module;
VkShaderModule quad_frag_module;
VkShaderModule output_module;
VkShaderModule output_module_srgb;
VkShaderModule output_module_3d_lut;
struct wl_list pipeline_layouts; // struct wlr_vk_pipeline_layout.link
@ -280,19 +281,10 @@ struct wlr_vk_renderer {
VkDescriptorSetLayout output_ds_srgb_layout;
VkDescriptorSetLayout output_ds_lut3d_layout;
VkSampler output_sampler_lut3d;
// descriptor set indicating dummy 1x1x1 image, for use in the lut3d slot
VkDescriptorSet output_ds_lut3d_dummy;
struct wlr_vk_descriptor_pool *output_ds_lut3d_dummy_pool;
size_t last_output_pool_size;
struct wl_list output_descriptor_pools; // wlr_vk_descriptor_pool.link
// dummy sampler to bind when output shader is not using a lookup table
VkImage dummy3d_image;
VkDeviceMemory dummy3d_mem;
VkImageView dummy3d_image_view;
bool dummy3d_image_transitioned;
VkSemaphore timeline_semaphore;
uint64_t timeline_point;