{-# 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_KHR_external_semaphore_fd (-- * Vulkan extension: @VK_KHR_external_semaphore_fd@ -- | -- -- supported: @vulkan@ -- -- contact: @James Jones @cubanismo@ -- -- author: @KHR@ -- -- type: @device@ -- -- Extension number: @80@ -- -- Required extensions: 'VK_KHR_external_semaphore'. -- -- ** Required extensions: 'VK_KHR_external_semaphore'. module Graphics.Vulkan.Marshal, VkExternalFenceFeatureBitmask(..), VkExternalFenceHandleTypeBitmask(..), VkExternalMemoryFeatureBitmask(..), VkExternalMemoryFeatureBitmaskNV(..), VkExternalMemoryHandleTypeBitmaskNV(..), VkExternalMemoryHandleTypeBitmask(..), VkExternalSemaphoreFeatureBitmask(..), VkExternalSemaphoreHandleTypeBitmask(..), VkExternalFenceFeatureFlagBits(), VkExternalFenceFeatureFlagBitsKHR(..), VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(), VkExternalFenceHandleTypeFlagBitsKHR(..), VkExternalFenceHandleTypeFlags(), VkExternalMemoryFeatureFlagBits(), VkExternalMemoryFeatureFlagBitsKHR(..), VkExternalMemoryFeatureFlagBitsNV(), VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(), VkExternalMemoryHandleTypeFlagBits(), VkExternalMemoryHandleTypeFlagBitsKHR(..), VkExternalMemoryHandleTypeFlagBitsNV(), VkExternalMemoryHandleTypeFlags(), VkExternalMemoryHandleTypeFlagsNV(), VkExternalSemaphoreFeatureFlagBits(), VkExternalSemaphoreFeatureFlagBitsKHR(..), VkExternalSemaphoreFeatureFlags(), VkExternalSemaphoreHandleTypeFlagBits(), VkExternalSemaphoreHandleTypeFlagBitsKHR(..), VkExternalSemaphoreHandleTypeFlags(), AHardwareBuffer(), ANativeWindow(), CAMetalLayer(), VkBool32(..), VkDeviceAddress(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..), VkImportSemaphoreFdInfoKHR, VkSemaphoreGetFdInfoKHR, VkSemaphoreImportBitmask(..), VkSemaphoreType(..), VkSemaphoreWaitBitmask(..), VkSemaphoreImportFlagBits(), VkSemaphoreImportFlagBitsKHR(..), VkSemaphoreImportFlags(), VkSemaphoreTypeKHR(..), VkSemaphoreWaitFlagBits(), VkSemaphoreWaitFlagBitsKHR(..), VkSemaphoreWaitFlags(), VkStructureType(..), -- > #include "vk_platform.h" VkImportSemaphoreFdKHR, pattern VkImportSemaphoreFdKHR, HS_vkImportSemaphoreFdKHR, PFN_vkImportSemaphoreFdKHR, VkGetSemaphoreFdKHR, pattern VkGetSemaphoreFdKHR, HS_vkGetSemaphoreFdKHR, PFN_vkGetSemaphoreFdKHR, 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(), VkImportFenceFdInfoKHR, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkSemaphoreCreateInfo, VkSemaphoreSignalInfo, VkSemaphoreSignalInfoKHR, VkSemaphoreTypeCreateInfo, VkSemaphoreTypeCreateInfoKHR, VkSemaphoreWaitInfo, VkSemaphoreWaitInfoKHR, VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION, pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION, VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR, pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR) 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.External import Graphics.Vulkan.Types.Enum.Result import Graphics.Vulkan.Types.Enum.Semaphore import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.Import import Graphics.Vulkan.Types.Struct.Semaphore pattern VkImportSemaphoreFdKHR :: CString pattern VkImportSemaphoreFdKHR <- (is_VkImportSemaphoreFdKHR -> True) where VkImportSemaphoreFdKHR = _VkImportSemaphoreFdKHR {-# INLINE _VkImportSemaphoreFdKHR #-} _VkImportSemaphoreFdKHR :: CString _VkImportSemaphoreFdKHR = Ptr "vkImportSemaphoreFdKHR\NUL"# {-# INLINE is_VkImportSemaphoreFdKHR #-} is_VkImportSemaphoreFdKHR :: CString -> Bool is_VkImportSemaphoreFdKHR = (EQ ==) . cmpCStrings _VkImportSemaphoreFdKHR type VkImportSemaphoreFdKHR = "vkImportSemaphoreFdKHR" -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'. -- -- > VkResult vkImportSemaphoreFdKHR -- > ( VkDevice device -- > , const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo -- > ) -- -- type HS_vkImportSemaphoreFdKHR = VkDevice -- ^ device -> Ptr VkImportSemaphoreFdInfoKHR -- ^ pImportSemaphoreFdInfo -> IO VkResult type PFN_vkImportSemaphoreFdKHR = FunPtr HS_vkImportSemaphoreFdKHR foreign import ccall unsafe "dynamic" unwrapVkImportSemaphoreFdKHRUnsafe :: PFN_vkImportSemaphoreFdKHR -> HS_vkImportSemaphoreFdKHR foreign import ccall safe "dynamic" unwrapVkImportSemaphoreFdKHRSafe :: PFN_vkImportSemaphoreFdKHR -> HS_vkImportSemaphoreFdKHR instance VulkanProc "vkImportSemaphoreFdKHR" where type VkProcType "vkImportSemaphoreFdKHR" = HS_vkImportSemaphoreFdKHR vkProcSymbol = _VkImportSemaphoreFdKHR {-# INLINE vkProcSymbol #-} unwrapVkProcPtrUnsafe = unwrapVkImportSemaphoreFdKHRUnsafe {-# INLINE unwrapVkProcPtrUnsafe #-} unwrapVkProcPtrSafe = unwrapVkImportSemaphoreFdKHRSafe {-# INLINE unwrapVkProcPtrSafe #-} pattern VkGetSemaphoreFdKHR :: CString pattern VkGetSemaphoreFdKHR <- (is_VkGetSemaphoreFdKHR -> True) where VkGetSemaphoreFdKHR = _VkGetSemaphoreFdKHR {-# INLINE _VkGetSemaphoreFdKHR #-} _VkGetSemaphoreFdKHR :: CString _VkGetSemaphoreFdKHR = Ptr "vkGetSemaphoreFdKHR\NUL"# {-# INLINE is_VkGetSemaphoreFdKHR #-} is_VkGetSemaphoreFdKHR :: CString -> Bool is_VkGetSemaphoreFdKHR = (EQ ==) . cmpCStrings _VkGetSemaphoreFdKHR type VkGetSemaphoreFdKHR = "vkGetSemaphoreFdKHR" -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'. -- -- > VkResult vkGetSemaphoreFdKHR -- > ( VkDevice device -- > , const VkSemaphoreGetFdInfoKHR* pGetFdInfo -- > , int* pFd -- > ) -- -- type HS_vkGetSemaphoreFdKHR = VkDevice -- ^ device -> Ptr VkSemaphoreGetFdInfoKHR -- ^ pGetFdInfo -> Ptr CInt -- ^ pFd -> IO VkResult type PFN_vkGetSemaphoreFdKHR = FunPtr HS_vkGetSemaphoreFdKHR foreign import ccall unsafe "dynamic" unwrapVkGetSemaphoreFdKHRUnsafe :: PFN_vkGetSemaphoreFdKHR -> HS_vkGetSemaphoreFdKHR foreign import ccall safe "dynamic" unwrapVkGetSemaphoreFdKHRSafe :: PFN_vkGetSemaphoreFdKHR -> HS_vkGetSemaphoreFdKHR instance VulkanProc "vkGetSemaphoreFdKHR" where type VkProcType "vkGetSemaphoreFdKHR" = HS_vkGetSemaphoreFdKHR vkProcSymbol = _VkGetSemaphoreFdKHR {-# INLINE vkProcSymbol #-} unwrapVkProcPtrUnsafe = unwrapVkGetSemaphoreFdKHRUnsafe {-# INLINE unwrapVkProcPtrUnsafe #-} unwrapVkProcPtrSafe = unwrapVkGetSemaphoreFdKHRSafe {-# INLINE unwrapVkProcPtrSafe #-} pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION :: (Num a, Eq a) => a pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: CString pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME <- (is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME -> True) where VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME {-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME #-} _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: CString _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = Ptr "VK_KHR_external_semaphore_fd\NUL"# {-# INLINE is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME #-} is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = (EQ ==) . cmpCStrings _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME type VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore_fd" pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = VkStructureType 1000079000 pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = VkStructureType 1000079001