{-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_push_descriptor (-- * Vulkan extension: @VK_KHR_push_descriptor@ -- | -- -- supported: @vulkan@ -- -- contact: @Jeff Bolz @jbolz@ -- -- author: @KHR@ -- -- type: @device@ -- -- Extension number: @81@ -- -- Required extensions: 'VK_KHR_get_physical_device_properties2'. -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR, module Graphics.Vulkan.Types.Struct.VkPhysicalDevicePushDescriptorPropertiesKHR, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties, module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType, module Graphics.Vulkan.Types.Enum.VkSampleCountFlags, module Graphics.Vulkan.Types.Enum.VkStructureType, -- > #include "vk_platform.h" vkCmdPushDescriptorSetKHR, module Graphics.Vulkan.Types.Enum.VkDescriptorType, module Graphics.Vulkan.Types.Enum.VkImageLayout, module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo, module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo, module Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR) where import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags (VkDescriptorSetLayoutCreateBitmask (..), VkDescriptorSetLayoutCreateFlagBits) import Graphics.Vulkan.Types.Enum.VkDescriptorType import Graphics.Vulkan.Types.Enum.VkImageLayout import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType import Graphics.Vulkan.Types.Enum.VkPipelineBindPoint import Graphics.Vulkan.Types.Enum.VkSampleCountFlags import Graphics.Vulkan.Types.Enum.VkStructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo import Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR import Graphics.Vulkan.Types.Struct.VkPhysicalDevicePushDescriptorPropertiesKHR import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet -- | queues: 'graphics', 'compute'. -- -- renderpass: @both@ -- -- > () vkCmdPushDescriptorSetKHR -- > ( VkCommandBuffer commandBuffer -- > , VkPipelineBindPoint pipelineBindPoint -- > , VkPipelineLayout layout -- > , uint32_t set -- > , uint32_t descriptorWriteCount -- > , const VkWriteDescriptorSet* pDescriptorWrites -- > ) -- -- foreign import ccall unsafe "vkCmdPushDescriptorSetKHR" vkCmdPushDescriptorSetKHR :: VkCommandBuffer -- ^ commandBuffer -> VkPipelineBindPoint -- ^ pipelineBindPoint -> VkPipelineLayout -- ^ layout -> Word32 -- ^ set -> Word32 -- ^ descriptorWriteCount -> Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites -> IO () pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: (Num a, Eq a) => a pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 1 type VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 1 pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME <- (is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME -> True) where VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME {-# INLINE _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME #-} _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = Ptr "VK_KHR_push_descriptor\NUL"# {-# INLINE is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME #-} is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString -> Bool is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = eqCStrings _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME type VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor" pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = VkStructureType 1000080000 -- | Descriptors are pushed via flink:vkCmdPushDescriptorSetKHR -- -- bitpos = @0@ pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR :: VkDescriptorSetLayoutCreateFlagBits pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VkDescriptorSetLayoutCreateFlagBits 1