render: introduce bt.1886 transfer function

This commit is contained in:
llyyr 2025-10-04 14:48:42 +05:30
parent d8fb7adcf0
commit 6e1c8748ff
10 changed files with 52 additions and 0 deletions

View file

@ -176,6 +176,7 @@ static void destroy_render_format_setup(struct wlr_vk_renderer *renderer,
vkDestroyPipeline(dev, setup->output_pipe_pq, NULL);
vkDestroyPipeline(dev, setup->output_pipe_lut3d, NULL);
vkDestroyPipeline(dev, setup->output_pipe_gamma22, NULL);
vkDestroyPipeline(dev, setup->output_pipe_bt1886, NULL);
struct wlr_vk_pipeline *pipeline, *tmp_pipeline;
wl_list_for_each_safe(pipeline, tmp_pipeline, &setup->pipelines, link) {
@ -2351,6 +2352,11 @@ static struct wlr_vk_render_format_setup *find_or_create_render_setup(
&setup->output_pipe_gamma22, WLR_VK_OUTPUT_TRANSFORM_INVERSE_GAMMA22)) {
goto error;
}
if (!init_blend_to_output_pipeline(
renderer, setup->render_pass, renderer->output_pipe_layout,
&setup->output_pipe_bt1886, WLR_VK_OUTPUT_TRANSFORM_INVERSE_BT1886)) {
goto error;
}
} else {
assert(format->vk_srgb);
VkAttachmentDescription attachment = {