gtk/gsk/gpu/gskvulkanycbcrprivate.h
Benjamin Otte 67b9fb43d0 gpu: Completely revamp YCbCr handling
There is now a GskGpuYcbcr struct that maintains all the Vulkan
machinery related to YCbCrConversions.
It's a GskGpuCached, so it will make itself go away when it is no longer
used, ie a video stopped playing.
2024-07-22 19:40:24 +02:00

24 lines
1.1 KiB
C

#pragma once
#include "gskvulkandeviceprivate.h"
#include "gdk/gdkvulkancontextprivate.h"
G_BEGIN_DECLS
GskVulkanYcbcr * gsk_vulkan_ycbcr_new (GskVulkanDevice *self,
VkFormat vk_format);
GskVulkanYcbcr * gsk_vulkan_ycbcr_ref (GskVulkanYcbcr *self);
void gsk_vulkan_ycbcr_unref (GskVulkanYcbcr *self);
VkSamplerYcbcrConversion
gsk_vulkan_ycbcr_get_vk_conversion (GskVulkanYcbcr *self);
VkSampler gsk_vulkan_ycbcr_get_vk_sampler (GskVulkanYcbcr *self);
VkDescriptorSetLayout gsk_vulkan_ycbcr_get_vk_descriptor_set_layout (GskVulkanYcbcr *self);
VkPipelineLayout gsk_vulkan_ycbcr_get_vk_pipeline_layout (GskVulkanYcbcr *self,
gsize id);
G_END_DECLS