25 void* pNext =
nullptr;
27 if (ycbcrConversion) {
29 conversionInfo.
pNext =
nullptr;
30 conversionInfo.
conversion = ycbcrConversion->ycbcrConversion();
31 pNext = &conversionInfo;
70 { aspectFlags, 0, miplevels, 0, 1 },
86 VkImageView imageView,
89 : fSharedContext(sharedContext)
90 , fImageView(imageView)
92 , fYcbcrConversion(
std::move(ycbcrConversion)) {}
96 DestroyImageView(fSharedContext->
device(), fImageView,
nullptr));
#define VULKAN_CALL(IFACE, X)
#define VULKAN_CALL_RESULT(SHARED_CONTEXT, RESULT, X)
VkImageView imageView() const
static std::unique_ptr< const VulkanImageView > Make(const VulkanSharedContext *sharedContext, VkImage image, VkFormat format, Usage usage, uint32_t miplevels, sk_sp< VulkanYcbcrConversion >)
const skgpu::VulkanInterface * interface() const
uint32_t uint32_t * format
sk_sp< const SkImage > image
static void usage(char *argv0)
VkSamplerYcbcrConversion conversion
VkFlags VkImageAspectFlags
@ VK_IMAGE_ASPECT_COLOR_BIT
@ VK_IMAGE_ASPECT_STENCIL_BIT
@ VK_IMAGE_ASPECT_DEPTH_BIT
@ VK_COMPONENT_SWIZZLE_IDENTITY
@ VK_FORMAT_D24_UNORM_S8_UINT
@ VK_FORMAT_D32_SFLOAT_S8_UINT
@ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
@ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO