{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_external_memory_capabilities ( pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR
, pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR
, pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR
, pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR
, pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR
, pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR
, pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR
, pattern EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR
, pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR
, pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR
, pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR
, pattern EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR
, pattern EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR
, pattern EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR
, pattern EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR
, pattern LUID_SIZE_KHR
, getPhysicalDeviceExternalBufferPropertiesKHR
, ExternalMemoryHandleTypeFlagsKHR
, ExternalMemoryFeatureFlagsKHR
, ExternalMemoryHandleTypeFlagBitsKHR
, ExternalMemoryFeatureFlagBitsKHR
, ExternalMemoryPropertiesKHR
, PhysicalDeviceExternalImageFormatInfoKHR
, ExternalImageFormatPropertiesKHR
, PhysicalDeviceExternalBufferInfoKHR
, ExternalBufferPropertiesKHR
, PhysicalDeviceIDPropertiesKHR
, KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION
, pattern KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION
, KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
, pattern KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
) where
import Data.String (IsString)
import Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (getPhysicalDeviceExternalBufferProperties)
import Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (ExternalBufferProperties)
import Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (ExternalImageFormatProperties)
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlagBits)
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (ExternalMemoryProperties)
import Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (PhysicalDeviceExternalBufferInfo)
import Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (PhysicalDeviceExternalImageFormatInfo)
import Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (PhysicalDeviceIDProperties)
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlags)
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlagBits(EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT))
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlags)
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlagBits(EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT))
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlags)
import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlagBits(EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT))
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT))
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT))
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT))
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT))
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT))
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT))
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlags)
import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT))
import Vulkan.Core10.APIConstants (pattern LUID_SIZE)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES))
pattern $bSTRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR :: StructureType
$mSTRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR :: forall {r}. StructureType -> ((# #) -> r) -> ((# #) -> r) -> r
STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO
pattern $bSTRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR :: StructureType
$mSTRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR :: forall {r}. StructureType -> ((# #) -> r) -> ((# #) -> r) -> r
STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
pattern $bSTRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR :: StructureType
$mSTRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR :: forall {r}. StructureType -> ((# #) -> r) -> ((# #) -> r) -> r
STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO
pattern $bSTRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR :: StructureType
$mSTRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR :: forall {r}. StructureType -> ((# #) -> r) -> ((# #) -> r) -> r
STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES
pattern $bSTRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: StructureType
$mSTRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: forall {r}. StructureType -> ((# #) -> r) -> ((# #) -> r) -> r
STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
$mEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: forall {r}.
ExternalMemoryHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
$mEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: forall {r}.
ExternalMemoryHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
$mEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: forall {r}.
ExternalMemoryHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
$mEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR :: forall {r}.
ExternalMemoryHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
$mEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR :: forall {r}.
ExternalMemoryHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
$mEXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR :: forall {r}.
ExternalMemoryHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT
pattern $bEXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR :: ExternalMemoryHandleTypeFlagBits
$mEXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR :: forall {r}.
ExternalMemoryHandleTypeFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
pattern $bEXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR :: ExternalMemoryFeatureFlagBits
$mEXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR :: forall {r}.
ExternalMemoryFeatureFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT
pattern $bEXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR :: ExternalMemoryFeatureFlagBits
$mEXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR :: forall {r}.
ExternalMemoryFeatureFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT
pattern $bEXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR :: ExternalMemoryFeatureFlagBits
$mEXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR :: forall {r}.
ExternalMemoryFeatureFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
pattern $bLUID_SIZE_KHR :: forall {a}. Integral a => a
$mLUID_SIZE_KHR :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
LUID_SIZE_KHR = LUID_SIZE
getPhysicalDeviceExternalBufferPropertiesKHR :: PhysicalDevice
-> PhysicalDeviceExternalBufferInfo a
-> io ExternalBufferProperties
getPhysicalDeviceExternalBufferPropertiesKHR = forall (a :: [*]) (io :: * -> *).
(Extendss PhysicalDeviceExternalBufferInfo a, PokeChain a,
MonadIO io) =>
PhysicalDevice
-> PhysicalDeviceExternalBufferInfo a
-> io ExternalBufferProperties
getPhysicalDeviceExternalBufferProperties
type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags
type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags
type ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits
type ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits
type ExternalMemoryPropertiesKHR = ExternalMemoryProperties
type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo
type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties
type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo
type ExternalBufferPropertiesKHR = ExternalBufferProperties
type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties
type KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1
pattern KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall a . Integral a => a
pattern $bKHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall {a}. Integral a => a
$mKHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1
type KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities"
pattern KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bKHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mKHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities"