23 {
24
25 void* pNext = nullptr;
27 if (ycbcrConversion) {
29 conversionInfo.
pNext =
nullptr;
30 conversionInfo.
conversion = ycbcrConversion->ycbcrConversion();
31 pNext = &conversionInfo;
32 }
33
35
41 break;
45 break;
49 break;
50 default:
52 break;
53 }
54
55 miplevels = 1;
56 } else {
58 }
61 pNext,
62 0,
70 { aspectFlags, 0, miplevels, 0, 1 },
71 };
72
76 CreateImageView(sharedCtx->device(), &viewInfo,
nullptr, &
imageView));
78 return nullptr;
79 }
80
81 return std::unique_ptr<VulkanImageView>(
new VulkanImageView(sharedCtx,
imageView,
usage,
82 ycbcrConversion));
83}
#define VULKAN_CALL_RESULT(SHARED_CONTEXT, RESULT, X)
VkImageView imageView() const
uint32_t uint32_t * format
sk_sp< const SkImage > image
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