{-# OPTIONS_GHC -fno-warn-orphans#-}
{-# OPTIONS_HADDOCK not-home#-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE ViewPatterns #-}
module Graphics.Vulkan.Ext.VK_EXT_image_drm_format_modifier
(AHardwareBuffer(), ANativeWindow(), CAMetalLayer(), VkBool32(..),
VkDeviceAddress(..), VkDeviceSize(..), VkFlags(..),
VkSampleMask(..), VkDrmFormatModifierPropertiesEXT,
VkDrmFormatModifierPropertiesListEXT, VkExtent3D, VkFormat(..),
VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),
VkFormatFeatureFlags(), VkFormatProperties, VkFormatProperties2,
VkImageAspectBitmask(..), VkImageCreateBitmask(..),
VkImageLayout(..), VkImageTiling(..), VkImageType(..),
VkImageUsageBitmask(..), VkImageViewType(..),
VkImageAspectFlagBits(), VkImageAspectFlags(),
VkImageCreateFlagBits(), VkImageCreateFlags(),
VkImageUsageFlagBits(), VkImageUsageFlags(),
VkImageViewCreateBitmask(..), VkImageViewCreateFlagBits(),
VkImageViewCreateFlags(), VkImageCreateInfo,
VkImageDrmFormatModifierExplicitCreateInfoEXT,
VkImageDrmFormatModifierListCreateInfoEXT,
VkImageDrmFormatModifierPropertiesEXT,
VkPhysicalDeviceImageDrmFormatModifierInfoEXT,
VkPhysicalDeviceImageFormatInfo2, VkSampleCountBitmask(..),
VkSampleCountFlagBits(), VkSampleCountFlags(), VkSharingMode(..),
VkStructureType(..), VkSubresourceLayout,
VkGetImageDrmFormatModifierPropertiesEXT,
pattern VkGetImageDrmFormatModifierPropertiesEXT,
HS_vkGetImageDrmFormatModifierPropertiesEXT,
PFN_vkGetImageDrmFormatModifierPropertiesEXT,
module Graphics.Vulkan.Marshal, VkResult(..),
VkAccelerationStructureKHR, VkAccelerationStructureKHR_T(),
VkAccelerationStructureNV, VkAccelerationStructureNV_T(), VkBuffer,
VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,
VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),
VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),
VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),
VkDeferredOperationKHR, VkDeferredOperationKHR_T(),
VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,
VkDescriptorSetLayout, VkDescriptorSetLayout_T(),
VkDescriptorSet_T(), VkDescriptorUpdateTemplate,
VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),
VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,
VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),
VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),
VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,
VkImageView, VkImageView_T(), VkImage_T(),
VkIndirectCommandsLayoutNV, VkIndirectCommandsLayoutNV_T(),
VkInstance, VkInstance_T(), VkPerformanceConfigurationINTEL,
VkPerformanceConfigurationINTEL_T(), VkPhysicalDevice,
VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,
VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),
VkPipeline_T(), VkPrivateDataSlotEXT, VkPrivateDataSlotEXT_T(),
VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(), VkRenderPass,
VkRenderPass_T(), VkSampler, VkSamplerYcbcrConversion,
VkSamplerYcbcrConversionKHR, VkSamplerYcbcrConversionKHR_T(),
VkSamplerYcbcrConversion_T(), VkSampler_T(), VkSemaphore,
VkSemaphore_T(), VkShaderModule, VkShaderModule_T(), VkSurfaceKHR,
VkSurfaceKHR_T(), VkSwapchainKHR, VkSwapchainKHR_T(),
VkValidationCacheEXT, VkValidationCacheEXT_T(), VkImageBlit,
VkImageCopy, VkImageFormatListCreateInfo,
VkImageFormatListCreateInfoKHR, VkImageFormatProperties,
VkImageFormatProperties2, VkImageFormatProperties2KHR,
VkImageMemoryBarrier, VkImageMemoryRequirementsInfo2,
VkImageMemoryRequirementsInfo2KHR,
VkImagePlaneMemoryRequirementsInfo,
VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,
VkImageSparseMemoryRequirementsInfo2,
VkImageSparseMemoryRequirementsInfo2KHR,
VkImageStencilUsageCreateInfo, VkImageStencilUsageCreateInfoEXT,
VkImageSubresource, VkImageSubresourceLayers,
VkImageSubresourceRange, VkImageSwapchainCreateInfoKHR,
VkImageViewASTCDecodeModeEXT, VkImageViewAddressPropertiesNVX,
VkImageViewCreateInfo, VkImageViewHandleInfoNVX,
VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfoKHR,
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION,
pattern VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION,
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME,
pattern VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME,
pattern VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
pattern VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
pattern VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
pattern VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT,
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT)
where
import GHC.Ptr (Ptr (..))
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Proc (VulkanProc (..))
import Graphics.Vulkan.Types.BaseTypes
import Graphics.Vulkan.Types.Enum.Format
import Graphics.Vulkan.Types.Enum.Image
import Graphics.Vulkan.Types.Enum.Result
import Graphics.Vulkan.Types.Enum.SampleCountFlags
import Graphics.Vulkan.Types.Enum.SharingMode
import Graphics.Vulkan.Types.Enum.StructureType
import Graphics.Vulkan.Types.Handles
import Graphics.Vulkan.Types.Struct.DrmFormatModifierProperties (VkDrmFormatModifierPropertiesEXT,
VkDrmFormatModifierPropertiesListEXT)
import Graphics.Vulkan.Types.Struct.Extent (VkExtent3D)
import Graphics.Vulkan.Types.Struct.FormatProperties (VkFormatProperties,
VkFormatProperties2)
import Graphics.Vulkan.Types.Struct.Image
import Graphics.Vulkan.Types.Struct.PhysicalDevice (VkPhysicalDeviceImageDrmFormatModifierInfoEXT,
VkPhysicalDeviceImageFormatInfo2)
import Graphics.Vulkan.Types.Struct.SubresourceLayout (VkSubresourceLayout)
pattern VkGetImageDrmFormatModifierPropertiesEXT :: CString
pattern $bVkGetImageDrmFormatModifierPropertiesEXT :: CString
$mVkGetImageDrmFormatModifierPropertiesEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkGetImageDrmFormatModifierPropertiesEXT <-
(is_VkGetImageDrmFormatModifierPropertiesEXT -> True)
where
VkGetImageDrmFormatModifierPropertiesEXT
= CString
_VkGetImageDrmFormatModifierPropertiesEXT
{-# INLINE _VkGetImageDrmFormatModifierPropertiesEXT #-}
_VkGetImageDrmFormatModifierPropertiesEXT :: CString
_VkGetImageDrmFormatModifierPropertiesEXT :: CString
_VkGetImageDrmFormatModifierPropertiesEXT
= Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkGetImageDrmFormatModifierPropertiesEXT\NUL"#
{-# INLINE is_VkGetImageDrmFormatModifierPropertiesEXT #-}
is_VkGetImageDrmFormatModifierPropertiesEXT :: CString -> Bool
is_VkGetImageDrmFormatModifierPropertiesEXT :: CString -> Bool
is_VkGetImageDrmFormatModifierPropertiesEXT
= (Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
==) (Ordering -> Bool) -> (CString -> Ordering) -> CString -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CString -> CString -> Ordering
cmpCStrings CString
_VkGetImageDrmFormatModifierPropertiesEXT
type VkGetImageDrmFormatModifierPropertiesEXT =
"vkGetImageDrmFormatModifierPropertiesEXT"
type HS_vkGetImageDrmFormatModifierPropertiesEXT =
VkDevice
->
VkImage
-> Ptr VkImageDrmFormatModifierPropertiesEXT
-> IO VkResult
type PFN_vkGetImageDrmFormatModifierPropertiesEXT =
FunPtr HS_vkGetImageDrmFormatModifierPropertiesEXT
foreign import ccall unsafe "dynamic"
unwrapVkGetImageDrmFormatModifierPropertiesEXTUnsafe ::
PFN_vkGetImageDrmFormatModifierPropertiesEXT ->
HS_vkGetImageDrmFormatModifierPropertiesEXT
foreign import ccall safe "dynamic"
unwrapVkGetImageDrmFormatModifierPropertiesEXTSafe ::
PFN_vkGetImageDrmFormatModifierPropertiesEXT ->
HS_vkGetImageDrmFormatModifierPropertiesEXT
instance VulkanProc "vkGetImageDrmFormatModifierPropertiesEXT"
where
type VkProcType "vkGetImageDrmFormatModifierPropertiesEXT" =
HS_vkGetImageDrmFormatModifierPropertiesEXT
vkProcSymbol :: CString
vkProcSymbol = CString
_VkGetImageDrmFormatModifierPropertiesEXT
{-# INLINE vkProcSymbol #-}
unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkGetImageDrmFormatModifierPropertiesEXT")
-> VkProcType "vkGetImageDrmFormatModifierPropertiesEXT"
unwrapVkProcPtrUnsafe
= FunPtr (VkProcType "vkGetImageDrmFormatModifierPropertiesEXT")
-> VkProcType "vkGetImageDrmFormatModifierPropertiesEXT"
PFN_vkGetImageDrmFormatModifierPropertiesEXT
-> HS_vkGetImageDrmFormatModifierPropertiesEXT
unwrapVkGetImageDrmFormatModifierPropertiesEXTUnsafe
{-# INLINE unwrapVkProcPtrUnsafe #-}
unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkGetImageDrmFormatModifierPropertiesEXT")
-> VkProcType "vkGetImageDrmFormatModifierPropertiesEXT"
unwrapVkProcPtrSafe
= FunPtr (VkProcType "vkGetImageDrmFormatModifierPropertiesEXT")
-> VkProcType "vkGetImageDrmFormatModifierPropertiesEXT"
PFN_vkGetImageDrmFormatModifierPropertiesEXT
-> HS_vkGetImageDrmFormatModifierPropertiesEXT
unwrapVkGetImageDrmFormatModifierPropertiesEXTSafe
{-# INLINE unwrapVkProcPtrSafe #-}
pattern VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION ::
(Num a, Eq a) => a
pattern $bVK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION :: forall a. (Num a, Eq a) => a
$mVK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION :: forall {r} {a}.
(Num a, Eq a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1
type VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1
pattern VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: CString
pattern $bVK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: CString
$mVK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME <-
(is_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME -> True)
where
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME
= CString
_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME
{-# INLINE _VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME #-}
_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: CString
_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: CString
_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME
= Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"VK_EXT_image_drm_format_modifier\NUL"#
{-# INLINE is_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME #-}
is_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME ::
CString -> Bool
is_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: CString -> Bool
is_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME
= (Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
==) (Ordering -> Bool) -> (CString -> Ordering) -> CString -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
CString -> CString -> Ordering
cmpCStrings CString
_VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME
type VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME =
"VK_EXT_image_drm_format_modifier"
pattern VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT ::
VkResult
pattern $bVK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: VkResult
$mVK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: forall {r}. VkResult -> (Void# -> r) -> (Void# -> r) -> r
VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT =
VkResult (-1000158000)
pattern VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT
:: VkStructureType
pattern $bVK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: VkStructureType
$mVK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT =
VkStructureType 1000158000
pattern VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT ::
VkStructureType
pattern $bVK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: VkStructureType
$mVK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT =
VkStructureType 1000158001
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT
:: VkStructureType
pattern $bVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: VkStructureType
$mVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT
= VkStructureType 1000158002
pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT
:: VkStructureType
pattern $bVK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: VkStructureType
$mVK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT
= VkStructureType 1000158003
pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
:: VkStructureType
pattern $bVK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: VkStructureType
$mVK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
= VkStructureType 1000158004
pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT
:: VkStructureType
pattern $bVK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: VkStructureType
$mVK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT
= VkStructureType 1000158005
pattern VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT :: VkImageTiling
pattern $bVK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT :: VkImageTiling
$mVK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT :: forall {r}. VkImageTiling -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT =
VkImageTiling 1000158000
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT ::
VkImageAspectBitmask a
pattern $bVK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: forall (a :: FlagType). VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: forall {r} {a :: FlagType}.
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT =
VkImageAspectBitmask 128
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT ::
VkImageAspectBitmask a
pattern $bVK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: forall (a :: FlagType). VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: forall {r} {a :: FlagType}.
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT =
VkImageAspectBitmask 256
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT ::
VkImageAspectBitmask a
pattern $bVK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: forall (a :: FlagType). VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: forall {r} {a :: FlagType}.
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT =
VkImageAspectBitmask 512
pattern VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT ::
VkImageAspectBitmask a
pattern $bVK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: forall (a :: FlagType). VkImageAspectBitmask a
$mVK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: forall {r} {a :: FlagType}.
VkImageAspectBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT =
VkImageAspectBitmask 1024