packages feed

vulkan 3.8 → 3.8.1

raw patch · 141 files changed

+1971/−578 lines, 141 files

Files

changelog.md view
@@ -2,6 +2,12 @@  ## WIP +## [3.8.1] - 2020-12-08+- Bump API version to v1.2.164++- Add cabal flag trace-calls to enable calling traceEventIO before and after+  every Vulkan command+ ## [3.8] - 2020-11-30  - Bump API version to v1.2.163
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.8"+version: "3.8.1" synopsis: Bindings to the Vulkan graphics API. category: Graphics maintainer: Joe Hermaszewski <live.long.and.prosper@monoid.al>@@ -31,6 +31,8 @@       cpp-options: -DSAFE_FOREIGN_CALLS     - condition: flag(generic-instances)       cpp-options: -DGENERIC_INSTANCES+    - condition: flag(trace-calls)+      cpp-options: -DTRACE_CALLS   ghc-options:     - -Wall     - -Wno-unticked-promoted-constructors@@ -52,6 +54,12 @@     description:       Derive Generic instances for all structs. Disabled by default because of       code size and compile time impact.+    default: no+    manual: yes++  trace-calls:+    description:+      Inserts calls to Debug.Trace.traceEventIO around every Vulkan call.     default: no     manual: yes 
src-manual/Vulkan/Internal/Utils.hs view
@@ -1,9 +1,13 @@+{-# LANGUAGE CPP #-}+ module Vulkan.Internal.Utils   ( enumReadPrec   , enumShowsPrec+  , traceAroundEvent   ) where  import           Data.Foldable+import           Debug.Trace import           GHC.Read                       ( expectP ) import           Text.ParserCombinators.ReadP   ( skipSpaces                                                 , string@@ -62,3 +66,12 @@       in  showParen (p >= 11)                     (showString conName . showString " " . showsInternal x) +-- | Wrap an IO action with a pair of 'traceEventIO' using the specified+-- message with "begin" or "end" appended.+traceAroundEvent :: String -> IO a -> IO a+#if defined(TRACE_CALLS)+traceAroundEvent msg a =+  traceEventIO (msg <> " begin") *> a <* traceEventIO (msg <> " end")+#else+traceAroundEvent _ a = a+#endif
src/Vulkan/CStruct/Extends.hs view
@@ -305,6 +305,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_win32 (MemoryWin32HandlePropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_metal_surface (MetalSurfaceCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (MultisamplePropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (MutableDescriptorTypeCreateInfoVALVE)+import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (MutableDescriptorTypeListVALVE) import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Offset2D) import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Offset3D) import {-# SOURCE #-} Vulkan.Extensions.VK_GOOGLE_display_timing (PastPresentationTimingGOOGLE)@@ -392,6 +394,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_multiview_per_view_attributes (PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewProperties)+import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesVALVE) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pci_bus_info (PhysicalDevicePCIBusInfoPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR)@@ -752,8 +755,10 @@   Extends ComputePipelineCreateInfo PipelineCreationFeedbackCreateInfoEXT = ()   Extends ComputePipelineCreateInfo PipelineCompilerControlCreateInfoAMD = ()   Extends DescriptorPoolCreateInfo DescriptorPoolInlineUniformBlockCreateInfoEXT = ()+  Extends DescriptorPoolCreateInfo MutableDescriptorTypeCreateInfoVALVE = ()   Extends DescriptorSetAllocateInfo DescriptorSetVariableDescriptorCountAllocateInfo = ()   Extends DescriptorSetLayoutCreateInfo DescriptorSetLayoutBindingFlagsCreateInfo = ()+  Extends DescriptorSetLayoutCreateInfo MutableDescriptorTypeCreateInfoVALVE = ()   Extends DescriptorSetLayoutSupport DescriptorSetVariableDescriptorCountLayoutSupport = ()   Extends DeviceCreateInfo PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = ()   Extends DeviceCreateInfo DevicePrivateDataCreateInfoEXT = ()@@ -837,6 +842,7 @@   Extends DeviceCreateInfo PhysicalDeviceFragmentShadingRateFeaturesKHR = ()   Extends DeviceCreateInfo PhysicalDeviceShaderTerminateInvocationFeaturesKHR = ()   Extends DeviceCreateInfo PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = ()+  Extends DeviceCreateInfo PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = ()   Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoEXT = ()   Extends FenceCreateInfo ExportFenceCreateInfo = ()   Extends FenceCreateInfo ExportFenceWin32HandleInfoKHR = ()@@ -965,6 +971,7 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShadingRateFeaturesKHR = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderTerminateInvocationFeaturesKHR = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()   Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()@@ -1449,6 +1456,8 @@   STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV -> go @PhysicalDeviceFragmentShadingRateEnumsFeaturesNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV -> go @PhysicalDeviceFragmentShadingRateEnumsPropertiesNV   STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV -> go @PipelineFragmentShadingRateEnumStateCreateInfoNV+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE -> go @PhysicalDeviceMutableDescriptorTypeFeaturesVALVE+  STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE -> go @MutableDescriptorTypeCreateInfoVALVE   t -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("Unrecognized struct type: " <> show t) Nothing Nothing  where   go :: forall e . (Typeable e, FromCStruct e, ToCStruct e, Show e) => IO b@@ -1763,6 +1772,8 @@ {-# complete (::&) :: PhysicalDeviceFragmentShadingRateEnumsFeaturesNV #-} {-# complete (::&) :: PhysicalDeviceFragmentShadingRateEnumsPropertiesNV #-} {-# complete (::&) :: PipelineFragmentShadingRateEnumStateCreateInfoNV #-}+{-# complete (::&) :: PhysicalDeviceMutableDescriptorTypeFeaturesVALVE #-}+{-# complete (::&) :: MutableDescriptorTypeCreateInfoVALVE #-}  -- | View the head and tail of a 'Chain', see '::&' --
src/Vulkan/Core10/Buffer.hs view
@@ -12,6 +12,7 @@                              , BufferCreateFlags                              ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -164,7 +165,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPBuffer <- ContT $ bracket (callocBytes @Buffer 8) free-  r <- lift $ vkCreateBuffer' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPBuffer)+  r <- lift $ traceAroundEvent "vkCreateBuffer" (vkCreateBuffer' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPBuffer))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pBuffer <- lift $ peek @Buffer pPBuffer   pure $ (pBuffer)@@ -250,7 +251,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyBuffer' (deviceHandle (device)) (buffer) pAllocator+  lift $ traceAroundEvent "vkDestroyBuffer" (vkDestroyBuffer' (deviceHandle (device)) (buffer) pAllocator)   pure $ ()  
src/Vulkan/Core10/BufferView.hs view
@@ -8,6 +8,7 @@                                  , BufferViewCreateFlags(..)                                  ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -123,7 +124,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPView <- ContT $ bracket (callocBytes @BufferView 8) free-  r <- lift $ vkCreateBufferView' (deviceHandle (device)) pCreateInfo pAllocator (pPView)+  r <- lift $ traceAroundEvent "vkCreateBufferView" (vkCreateBufferView' (deviceHandle (device)) pCreateInfo pAllocator (pPView))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pView <- lift $ peek @BufferView pPView   pure $ (pView)@@ -210,7 +211,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyBufferView' (deviceHandle (device)) (bufferView) pAllocator+  lift $ traceAroundEvent "vkDestroyBufferView" (vkDestroyBufferView' (deviceHandle (device)) (bufferView) pAllocator)   pure $ ()  
src/Vulkan/Core10/CommandBuffer.hs view
@@ -20,6 +20,7 @@                                     , CommandBufferResetFlags                                     ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -193,7 +194,7 @@   let vkAllocateCommandBuffers' = mkVkAllocateCommandBuffers vkAllocateCommandBuffersPtr   pAllocateInfo <- ContT $ withCStruct (allocateInfo)   pPCommandBuffers <- ContT $ bracket (callocBytes @(Ptr CommandBuffer_T) ((fromIntegral $ commandBufferCount ((allocateInfo) :: CommandBufferAllocateInfo)) * 8)) free-  r <- lift $ vkAllocateCommandBuffers' (deviceHandle (device)) pAllocateInfo (pPCommandBuffers)+  r <- lift $ traceAroundEvent "vkAllocateCommandBuffers" (vkAllocateCommandBuffers' (deviceHandle (device)) pAllocateInfo (pPCommandBuffers))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCommandBuffers <- lift $ generateM (fromIntegral $ commandBufferCount ((allocateInfo) :: CommandBufferAllocateInfo)) (\i -> do     pCommandBuffersElem <- peek @(Ptr CommandBuffer_T) ((pPCommandBuffers `advancePtrBytes` (8 * (i)) :: Ptr (Ptr CommandBuffer_T)))@@ -288,7 +289,7 @@   let vkFreeCommandBuffers' = mkVkFreeCommandBuffers vkFreeCommandBuffersPtr   pPCommandBuffers <- ContT $ allocaBytesAligned @(Ptr CommandBuffer_T) ((Data.Vector.length (commandBuffers)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPCommandBuffers `plusPtr` (8 * (i)) :: Ptr (Ptr CommandBuffer_T)) (commandBufferHandle (e))) (commandBuffers)-  lift $ vkFreeCommandBuffers' (deviceHandle (device)) (commandPool) ((fromIntegral (Data.Vector.length $ (commandBuffers)) :: Word32)) (pPCommandBuffers)+  lift $ traceAroundEvent "vkFreeCommandBuffers" (vkFreeCommandBuffers' (deviceHandle (device)) (commandPool) ((fromIntegral (Data.Vector.length $ (commandBuffers)) :: Word32)) (pPCommandBuffers))   pure $ ()  @@ -380,7 +381,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkBeginCommandBuffer is null" Nothing Nothing   let vkBeginCommandBuffer' = mkVkBeginCommandBuffer vkBeginCommandBufferPtr   pBeginInfo <- ContT $ withCStruct (beginInfo)-  r <- lift $ vkBeginCommandBuffer' (commandBufferHandle (commandBuffer)) (forgetExtensions pBeginInfo)+  r <- lift $ traceAroundEvent "vkBeginCommandBuffer" (vkBeginCommandBuffer' (commandBufferHandle (commandBuffer)) (forgetExtensions pBeginInfo))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  -- | This function will call the supplied action between calls to@@ -482,7 +483,7 @@   unless (vkEndCommandBufferPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkEndCommandBuffer is null" Nothing Nothing   let vkEndCommandBuffer' = mkVkEndCommandBuffer vkEndCommandBufferPtr-  r <- vkEndCommandBuffer' (commandBufferHandle (commandBuffer))+  r <- traceAroundEvent "vkEndCommandBuffer" (vkEndCommandBuffer' (commandBufferHandle (commandBuffer)))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -558,7 +559,7 @@   unless (vkResetCommandBufferPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkResetCommandBuffer is null" Nothing Nothing   let vkResetCommandBuffer' = mkVkResetCommandBuffer vkResetCommandBufferPtr-  r <- vkResetCommandBuffer' (commandBufferHandle (commandBuffer)) (flags)+  r <- traceAroundEvent "vkResetCommandBuffer" (vkResetCommandBuffer' (commandBufferHandle (commandBuffer)) (flags))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -588,9 +589,6 @@     level :: CommandBufferLevel   , -- | @commandBufferCount@ is the number of command buffers to allocate from     -- the pool.-    ---    -- #VUID-VkCommandBufferAllocateInfo-commandBufferCount-00044#-    -- @commandBufferCount@ /must/ be greater than @0@     commandBufferCount :: Word32   }   deriving (Typeable, Eq)
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -66,6 +66,7 @@                                             ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -393,7 +394,7 @@   unless (vkCmdBindPipelinePtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindPipeline is null" Nothing Nothing   let vkCmdBindPipeline' = mkVkCmdBindPipeline vkCmdBindPipelinePtr-  vkCmdBindPipeline' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (pipeline)+  traceAroundEvent "vkCmdBindPipeline" (vkCmdBindPipeline' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (pipeline))   pure $ ()  @@ -488,7 +489,7 @@   let vkCmdSetViewport' = mkVkCmdSetViewport vkCmdSetViewportPtr   pPViewports <- ContT $ allocaBytesAligned @Viewport ((Data.Vector.length (viewports)) * 24) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPViewports `plusPtr` (24 * (i)) :: Ptr Viewport) (e)) (viewports)-  lift $ vkCmdSetViewport' (commandBufferHandle (commandBuffer)) (firstViewport) ((fromIntegral (Data.Vector.length $ (viewports)) :: Word32)) (pPViewports)+  lift $ traceAroundEvent "vkCmdSetViewport" (vkCmdSetViewport' (commandBufferHandle (commandBuffer)) (firstViewport) ((fromIntegral (Data.Vector.length $ (viewports)) :: Word32)) (pPViewports))   pure $ ()  @@ -601,7 +602,7 @@   let vkCmdSetScissor' = mkVkCmdSetScissor vkCmdSetScissorPtr   pPScissors <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (scissors)) * 16) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPScissors `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (scissors)-  lift $ vkCmdSetScissor' (commandBufferHandle (commandBuffer)) (firstScissor) ((fromIntegral (Data.Vector.length $ (scissors)) :: Word32)) (pPScissors)+  lift $ traceAroundEvent "vkCmdSetScissor" (vkCmdSetScissor' (commandBufferHandle (commandBuffer)) (firstScissor) ((fromIntegral (Data.Vector.length $ (scissors)) :: Word32)) (pPScissors))   pure $ ()  @@ -667,7 +668,7 @@   unless (vkCmdSetLineWidthPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetLineWidth is null" Nothing Nothing   let vkCmdSetLineWidth' = mkVkCmdSetLineWidth vkCmdSetLineWidthPtr-  vkCmdSetLineWidth' (commandBufferHandle (commandBuffer)) (CFloat (lineWidth))+  traceAroundEvent "vkCmdSetLineWidth" (vkCmdSetLineWidth' (commandBufferHandle (commandBuffer)) (CFloat (lineWidth)))   pure $ ()  @@ -811,7 +812,7 @@   unless (vkCmdSetDepthBiasPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthBias is null" Nothing Nothing   let vkCmdSetDepthBias' = mkVkCmdSetDepthBias vkCmdSetDepthBiasPtr-  vkCmdSetDepthBias' (commandBufferHandle (commandBuffer)) (CFloat (depthBiasConstantFactor)) (CFloat (depthBiasClamp)) (CFloat (depthBiasSlopeFactor))+  traceAroundEvent "vkCmdSetDepthBias" (vkCmdSetDepthBias' (commandBufferHandle (commandBuffer)) (CFloat (depthBiasConstantFactor)) (CFloat (depthBiasClamp)) (CFloat (depthBiasSlopeFactor)))   pure $ ()  @@ -883,7 +884,7 @@       poke (pBlendConstants' `plusPtr` 4 :: Ptr CFloat) (CFloat (e1))       poke (pBlendConstants' `plusPtr` 8 :: Ptr CFloat) (CFloat (e2))       poke (pBlendConstants' `plusPtr` 12 :: Ptr CFloat) (CFloat (e3))-  lift $ vkCmdSetBlendConstants' (commandBufferHandle (commandBuffer)) (pBlendConstants)+  lift $ traceAroundEvent "vkCmdSetBlendConstants" (vkCmdSetBlendConstants' (commandBufferHandle (commandBuffer)) (pBlendConstants))   pure $ ()  @@ -963,7 +964,7 @@   unless (vkCmdSetDepthBoundsPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthBounds is null" Nothing Nothing   let vkCmdSetDepthBounds' = mkVkCmdSetDepthBounds vkCmdSetDepthBoundsPtr-  vkCmdSetDepthBounds' (commandBufferHandle (commandBuffer)) (CFloat (minDepthBounds)) (CFloat (maxDepthBounds))+  traceAroundEvent "vkCmdSetDepthBounds" (vkCmdSetDepthBounds' (commandBufferHandle (commandBuffer)) (CFloat (minDepthBounds)) (CFloat (maxDepthBounds)))   pure $ ()  @@ -1044,7 +1045,7 @@   unless (vkCmdSetStencilCompareMaskPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetStencilCompareMask is null" Nothing Nothing   let vkCmdSetStencilCompareMask' = mkVkCmdSetStencilCompareMask vkCmdSetStencilCompareMaskPtr-  vkCmdSetStencilCompareMask' (commandBufferHandle (commandBuffer)) (faceMask) (compareMask)+  traceAroundEvent "vkCmdSetStencilCompareMask" (vkCmdSetStencilCompareMask' (commandBufferHandle (commandBuffer)) (faceMask) (compareMask))   pure $ ()  @@ -1126,7 +1127,7 @@   unless (vkCmdSetStencilWriteMaskPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetStencilWriteMask is null" Nothing Nothing   let vkCmdSetStencilWriteMask' = mkVkCmdSetStencilWriteMask vkCmdSetStencilWriteMaskPtr-  vkCmdSetStencilWriteMask' (commandBufferHandle (commandBuffer)) (faceMask) (writeMask)+  traceAroundEvent "vkCmdSetStencilWriteMask" (vkCmdSetStencilWriteMask' (commandBufferHandle (commandBuffer)) (faceMask) (writeMask))   pure $ ()  @@ -1208,7 +1209,7 @@   unless (vkCmdSetStencilReferencePtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetStencilReference is null" Nothing Nothing   let vkCmdSetStencilReference' = mkVkCmdSetStencilReference vkCmdSetStencilReferencePtr-  vkCmdSetStencilReference' (commandBufferHandle (commandBuffer)) (faceMask) (reference)+  traceAroundEvent "vkCmdSetStencilReference" (vkCmdSetStencilReference' (commandBufferHandle (commandBuffer)) (faceMask) (reference))   pure $ ()  @@ -1330,6 +1331,12 @@ --     sum of the effective offset, as defined above, and the range of the --     binding /must/ be less than or equal to the size of the buffer --+-- -   #VUID-vkCmdBindDescriptorSets-pDescriptorSets-04616# Each element of+--     @pDescriptorSets@ /must/ not have been allocated from a+--     'Vulkan.Core10.Handles.DescriptorPool' with the+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+--     flag set+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBindDescriptorSets-commandBuffer-parameter#@@ -1425,7 +1432,7 @@   lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorSets `plusPtr` (8 * (i)) :: Ptr DescriptorSet) (e)) (descriptorSets)   pPDynamicOffsets <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (dynamicOffsets)) * 4) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPDynamicOffsets `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (dynamicOffsets)-  lift $ vkCmdBindDescriptorSets' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (layout) (firstSet) ((fromIntegral (Data.Vector.length $ (descriptorSets)) :: Word32)) (pPDescriptorSets) ((fromIntegral (Data.Vector.length $ (dynamicOffsets)) :: Word32)) (pPDynamicOffsets)+  lift $ traceAroundEvent "vkCmdBindDescriptorSets" (vkCmdBindDescriptorSets' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (layout) (firstSet) ((fromIntegral (Data.Vector.length $ (descriptorSets)) :: Word32)) (pPDescriptorSets) ((fromIntegral (Data.Vector.length $ (dynamicOffsets)) :: Word32)) (pPDynamicOffsets))   pure $ ()  @@ -1530,7 +1537,7 @@   unless (vkCmdBindIndexBufferPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindIndexBuffer is null" Nothing Nothing   let vkCmdBindIndexBuffer' = mkVkCmdBindIndexBuffer vkCmdBindIndexBufferPtr-  vkCmdBindIndexBuffer' (commandBufferHandle (commandBuffer)) (buffer) (offset) (indexType)+  traceAroundEvent "vkCmdBindIndexBuffer" (vkCmdBindIndexBuffer' (commandBufferHandle (commandBuffer)) (buffer) (offset) (indexType))   pure $ ()  @@ -1671,7 +1678,7 @@   lift $ Data.Vector.imapM_ (\i e -> poke (pPBuffers `plusPtr` (8 * (i)) :: Ptr Buffer) (e)) (buffers)   pPOffsets <- ContT $ allocaBytesAligned @DeviceSize ((Data.Vector.length (offsets)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPOffsets `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) (offsets)-  lift $ vkCmdBindVertexBuffers' (commandBufferHandle (commandBuffer)) (firstBinding) ((fromIntegral pBuffersLength :: Word32)) (pPBuffers) (pPOffsets)+  lift $ traceAroundEvent "vkCmdBindVertexBuffers" (vkCmdBindVertexBuffers' (commandBufferHandle (commandBuffer)) (firstBinding) ((fromIntegral pBuffersLength :: Word32)) (pPBuffers) (pPOffsets))   pure $ ()  @@ -2093,6 +2100,13 @@ --     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind --     point /must/ not write to any resource --+-- -   #VUID-vkCmdDraw-commandBuffer-04617# If any of the shader stages of+--     the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+--     point used by this command uses the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-RayQueryKHR RayQueryKHR>+--     capability, then @commandBuffer@ /must/ not be a protected command+--     buffer+-- -- -   #VUID-vkCmdDraw-None-04007# All vertex input bindings accessed via --     vertex input variables declared in the vertex shader entry point’s --     interface /must/ have either valid or@@ -2165,7 +2179,7 @@   unless (vkCmdDrawPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDraw is null" Nothing Nothing   let vkCmdDraw' = mkVkCmdDraw vkCmdDrawPtr-  vkCmdDraw' (commandBufferHandle (commandBuffer)) (vertexCount) (instanceCount) (firstVertex) (firstInstance)+  traceAroundEvent "vkCmdDraw" (vkCmdDraw' (commandBufferHandle (commandBuffer)) (vertexCount) (instanceCount) (firstVertex) (firstInstance))   pure $ ()  @@ -2609,6 +2623,13 @@ --     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind --     point /must/ not write to any resource --+-- -   #VUID-vkCmdDrawIndexed-commandBuffer-04617# If any of the shader+--     stages of the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+--     bind point used by this command uses the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-RayQueryKHR RayQueryKHR>+--     capability, then @commandBuffer@ /must/ not be a protected command+--     buffer+-- -- -   #VUID-vkCmdDrawIndexed-None-04007# All vertex input bindings --     accessed via vertex input variables declared in the vertex shader --     entry point’s interface /must/ have either valid or@@ -2690,7 +2711,7 @@   unless (vkCmdDrawIndexedPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawIndexed is null" Nothing Nothing   let vkCmdDrawIndexed' = mkVkCmdDrawIndexed vkCmdDrawIndexedPtr-  vkCmdDrawIndexed' (commandBufferHandle (commandBuffer)) (indexCount) (instanceCount) (firstIndex) (vertexOffset) (firstInstance)+  traceAroundEvent "vkCmdDrawIndexed" (vkCmdDrawIndexed' (commandBufferHandle (commandBuffer)) (indexCount) (instanceCount) (firstIndex) (vertexOffset) (firstInstance))   pure $ ()  @@ -3232,7 +3253,7 @@   unless (vkCmdDrawIndirectPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawIndirect is null" Nothing Nothing   let vkCmdDrawIndirect' = mkVkCmdDrawIndirect vkCmdDrawIndirectPtr-  vkCmdDrawIndirect' (commandBufferHandle (commandBuffer)) (buffer) (offset) (drawCount) (stride)+  traceAroundEvent "vkCmdDrawIndirect" (vkCmdDrawIndirect' (commandBufferHandle (commandBuffer)) (buffer) (offset) (drawCount) (stride))   pure $ ()  @@ -3778,7 +3799,7 @@   unless (vkCmdDrawIndexedIndirectPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawIndexedIndirect is null" Nothing Nothing   let vkCmdDrawIndexedIndirect' = mkVkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirectPtr-  vkCmdDrawIndexedIndirect' (commandBufferHandle (commandBuffer)) (buffer) (offset) (drawCount) (stride)+  traceAroundEvent "vkCmdDrawIndexedIndirect" (vkCmdDrawIndexedIndirect' (commandBufferHandle (commandBuffer)) (buffer) (offset) (drawCount) (stride))   pure $ ()  @@ -4016,6 +4037,13 @@ --     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind --     point /must/ not write to any resource --+-- -   #VUID-vkCmdDispatch-commandBuffer-04617# If any of the shader stages+--     of the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+--     point used by this command uses the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-RayQueryKHR RayQueryKHR>+--     capability, then @commandBuffer@ /must/ not be a protected command+--     buffer+-- -- -   #VUID-vkCmdDispatch-groupCountX-00386# @groupCountX@ /must/ be less --     than or equal to --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]@@ -4085,7 +4113,7 @@   unless (vkCmdDispatchPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDispatch is null" Nothing Nothing   let vkCmdDispatch' = mkVkCmdDispatch vkCmdDispatchPtr-  vkCmdDispatch' (commandBufferHandle (commandBuffer)) (groupCountX) (groupCountY) (groupCountZ)+  traceAroundEvent "vkCmdDispatch" (vkCmdDispatch' (commandBufferHandle (commandBuffer)) (groupCountX) (groupCountY) (groupCountZ))   pure $ ()  @@ -4395,7 +4423,7 @@   unless (vkCmdDispatchIndirectPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDispatchIndirect is null" Nothing Nothing   let vkCmdDispatchIndirect' = mkVkCmdDispatchIndirect vkCmdDispatchIndirectPtr-  vkCmdDispatchIndirect' (commandBufferHandle (commandBuffer)) (buffer) (offset)+  traceAroundEvent "vkCmdDispatchIndirect" (vkCmdDispatchIndirect' (commandBufferHandle (commandBuffer)) (buffer) (offset))   pure $ ()  @@ -4544,7 +4572,7 @@   let vkCmdCopyBuffer' = mkVkCmdCopyBuffer vkCmdCopyBufferPtr   pPRegions <- ContT $ allocaBytesAligned @BufferCopy ((Data.Vector.length (regions)) * 24) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions `plusPtr` (24 * (i)) :: Ptr BufferCopy) (e)) (regions)-  lift $ vkCmdCopyBuffer' (commandBufferHandle (commandBuffer)) (srcBuffer) (dstBuffer) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions)+  lift $ traceAroundEvent "vkCmdCopyBuffer" (vkCmdCopyBuffer' (commandBufferHandle (commandBuffer)) (srcBuffer) (dstBuffer) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions))   pure $ ()  @@ -5089,7 +5117,7 @@   let vkCmdCopyImage' = mkVkCmdCopyImage vkCmdCopyImagePtr   pPRegions <- ContT $ allocaBytesAligned @ImageCopy ((Data.Vector.length (regions)) * 68) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions `plusPtr` (68 * (i)) :: Ptr ImageCopy) (e)) (regions)-  lift $ vkCmdCopyImage' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions)+  lift $ traceAroundEvent "vkCmdCopyImage" (vkCmdCopyImage' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions))   pure $ ()  @@ -5535,7 +5563,7 @@   let vkCmdBlitImage' = mkVkCmdBlitImage vkCmdBlitImagePtr   pPRegions <- ContT $ allocaBytesAligned @ImageBlit ((Data.Vector.length (regions)) * 80) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions `plusPtr` (80 * (i)) :: Ptr ImageBlit) (e)) (regions)-  lift $ vkCmdBlitImage' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions) (filter')+  lift $ traceAroundEvent "vkCmdBlitImage" (vkCmdBlitImage' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions) (filter'))   pure $ ()  @@ -5880,7 +5908,7 @@   let vkCmdCopyBufferToImage' = mkVkCmdCopyBufferToImage vkCmdCopyBufferToImagePtr   pPRegions <- ContT $ allocaBytesAligned @BufferImageCopy ((Data.Vector.length (regions)) * 56) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions `plusPtr` (56 * (i)) :: Ptr BufferImageCopy) (e)) (regions)-  lift $ vkCmdCopyBufferToImage' (commandBufferHandle (commandBuffer)) (srcBuffer) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions)+  lift $ traceAroundEvent "vkCmdCopyBufferToImage" (vkCmdCopyBufferToImage' (commandBufferHandle (commandBuffer)) (srcBuffer) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions))   pure $ ()  @@ -6216,7 +6244,7 @@   let vkCmdCopyImageToBuffer' = mkVkCmdCopyImageToBuffer vkCmdCopyImageToBufferPtr   pPRegions <- ContT $ allocaBytesAligned @BufferImageCopy ((Data.Vector.length (regions)) * 56) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions `plusPtr` (56 * (i)) :: Ptr BufferImageCopy) (e)) (regions)-  lift $ vkCmdCopyImageToBuffer' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstBuffer) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions)+  lift $ traceAroundEvent "vkCmdCopyImageToBuffer" (vkCmdCopyImageToBuffer' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstBuffer) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions))   pure $ ()  @@ -6372,7 +6400,7 @@   unless (vkCmdUpdateBufferPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdUpdateBuffer is null" Nothing Nothing   let vkCmdUpdateBuffer' = mkVkCmdUpdateBuffer vkCmdUpdateBufferPtr-  vkCmdUpdateBuffer' (commandBufferHandle (commandBuffer)) (dstBuffer) (dstOffset) (dataSize) (data')+  traceAroundEvent "vkCmdUpdateBuffer" (vkCmdUpdateBuffer' (commandBufferHandle (commandBuffer)) (dstBuffer) (dstOffset) (dataSize) (data'))   pure $ ()  @@ -6505,7 +6533,7 @@   unless (vkCmdFillBufferPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdFillBuffer is null" Nothing Nothing   let vkCmdFillBuffer' = mkVkCmdFillBuffer vkCmdFillBufferPtr-  vkCmdFillBuffer' (commandBufferHandle (commandBuffer)) (dstBuffer) (dstOffset) (size) (data')+  traceAroundEvent "vkCmdFillBuffer" (vkCmdFillBuffer' (commandBufferHandle (commandBuffer)) (dstBuffer) (dstOffset) (size) (data'))   pure $ ()  @@ -6693,7 +6721,7 @@   pColor <- ContT $ withCStruct (color)   pPRanges <- ContT $ allocaBytesAligned @ImageSubresourceRange ((Data.Vector.length (ranges)) * 20) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPRanges `plusPtr` (20 * (i)) :: Ptr ImageSubresourceRange) (e)) (ranges)-  lift $ vkCmdClearColorImage' (commandBufferHandle (commandBuffer)) (image) (imageLayout) pColor ((fromIntegral (Data.Vector.length $ (ranges)) :: Word32)) (pPRanges)+  lift $ traceAroundEvent "vkCmdClearColorImage" (vkCmdClearColorImage' (commandBufferHandle (commandBuffer)) (image) (imageLayout) pColor ((fromIntegral (Data.Vector.length $ (ranges)) :: Word32)) (pPRanges))   pure $ ()  @@ -6911,7 +6939,7 @@   pDepthStencil <- ContT $ withCStruct (depthStencil)   pPRanges <- ContT $ allocaBytesAligned @ImageSubresourceRange ((Data.Vector.length (ranges)) * 20) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPRanges `plusPtr` (20 * (i)) :: Ptr ImageSubresourceRange) (e)) (ranges)-  lift $ vkCmdClearDepthStencilImage' (commandBufferHandle (commandBuffer)) (image) (imageLayout) pDepthStencil ((fromIntegral (Data.Vector.length $ (ranges)) :: Word32)) (pPRanges)+  lift $ traceAroundEvent "vkCmdClearDepthStencilImage" (vkCmdClearDepthStencilImage' (commandBufferHandle (commandBuffer)) (image) (imageLayout) pDepthStencil ((fromIntegral (Data.Vector.length $ (ranges)) :: Word32)) (pPRanges))   pure $ ()  @@ -7087,7 +7115,7 @@   Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPAttachments `plusPtr` (24 * (i)) :: Ptr ClearAttachment) (e) . ($ ())) (attachments)   pPRects <- ContT $ allocaBytesAligned @ClearRect ((Data.Vector.length (rects)) * 24) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPRects `plusPtr` (24 * (i)) :: Ptr ClearRect) (e)) (rects)-  lift $ vkCmdClearAttachments' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (attachments)) :: Word32)) (pPAttachments) ((fromIntegral (Data.Vector.length $ (rects)) :: Word32)) (pPRects)+  lift $ traceAroundEvent "vkCmdClearAttachments" (vkCmdClearAttachments' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (attachments)) :: Word32)) (pPAttachments) ((fromIntegral (Data.Vector.length $ (rects)) :: Word32)) (pPRects))   pure $ ()  @@ -7362,7 +7390,7 @@   let vkCmdResolveImage' = mkVkCmdResolveImage vkCmdResolveImagePtr   pPRegions <- ContT $ allocaBytesAligned @ImageResolve ((Data.Vector.length (regions)) * 68) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions `plusPtr` (68 * (i)) :: Ptr ImageResolve) (e)) (regions)-  lift $ vkCmdResolveImage' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions)+  lift $ traceAroundEvent "vkCmdResolveImage" (vkCmdResolveImage' (commandBufferHandle (commandBuffer)) (srcImage) (srcImageLayout) (dstImage) (dstImageLayout) ((fromIntegral (Data.Vector.length $ (regions)) :: Word32)) (pPRegions))   pure $ ()  @@ -7527,7 +7555,7 @@   unless (vkCmdSetEventPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetEvent is null" Nothing Nothing   let vkCmdSetEvent' = mkVkCmdSetEvent vkCmdSetEventPtr-  vkCmdSetEvent' (commandBufferHandle (commandBuffer)) (event) (stageMask)+  traceAroundEvent "vkCmdSetEvent" (vkCmdSetEvent' (commandBufferHandle (commandBuffer)) (event) (stageMask))   pure $ ()  @@ -7698,7 +7726,7 @@   unless (vkCmdResetEventPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdResetEvent is null" Nothing Nothing   let vkCmdResetEvent' = mkVkCmdResetEvent vkCmdResetEventPtr-  vkCmdResetEvent' (commandBufferHandle (commandBuffer)) (event) (stageMask)+  traceAroundEvent "vkCmdResetEvent" (vkCmdResetEvent' (commandBufferHandle (commandBuffer)) (event) (stageMask))   pure $ ()  @@ -7756,7 +7784,7 @@   lift $ Data.Vector.imapM_ (\i e -> poke (pPBufferMemoryBarriers `plusPtr` (56 * (i)) :: Ptr BufferMemoryBarrier) (e)) (bufferMemoryBarriers)   pPImageMemoryBarriers <- ContT $ allocaBytesAligned @(ImageMemoryBarrier _) ((Data.Vector.length (imageMemoryBarriers)) * 72) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPImageMemoryBarriers `plusPtr` (72 * (i)) :: Ptr (ImageMemoryBarrier _))) (e) . ($ ())) (imageMemoryBarriers)-  lift $ vkCmdWaitEvents' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (events)) :: Word32)) (pPEvents) (srcStageMask) (dstStageMask) ((fromIntegral (Data.Vector.length $ (memoryBarriers)) :: Word32)) (pPMemoryBarriers) ((fromIntegral (Data.Vector.length $ (bufferMemoryBarriers)) :: Word32)) (pPBufferMemoryBarriers) ((fromIntegral (Data.Vector.length $ (imageMemoryBarriers)) :: Word32)) (forgetExtensions (pPImageMemoryBarriers))+  lift $ traceAroundEvent "vkCmdWaitEvents" (vkCmdWaitEvents' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (events)) :: Word32)) (pPEvents) (srcStageMask) (dstStageMask) ((fromIntegral (Data.Vector.length $ (memoryBarriers)) :: Word32)) (pPMemoryBarriers) ((fromIntegral (Data.Vector.length $ (bufferMemoryBarriers)) :: Word32)) (pPBufferMemoryBarriers) ((fromIntegral (Data.Vector.length $ (imageMemoryBarriers)) :: Word32)) (forgetExtensions (pPImageMemoryBarriers)))   pure $ ()  -- | vkCmdWaitEvents - Wait for one or more events and insert a set of memory@@ -8532,7 +8560,7 @@   lift $ Data.Vector.imapM_ (\i e -> poke (pPBufferMemoryBarriers `plusPtr` (56 * (i)) :: Ptr BufferMemoryBarrier) (e)) (bufferMemoryBarriers)   pPImageMemoryBarriers <- ContT $ allocaBytesAligned @(ImageMemoryBarrier _) ((Data.Vector.length (imageMemoryBarriers)) * 72) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPImageMemoryBarriers `plusPtr` (72 * (i)) :: Ptr (ImageMemoryBarrier _))) (e) . ($ ())) (imageMemoryBarriers)-  lift $ vkCmdPipelineBarrier' (commandBufferHandle (commandBuffer)) (srcStageMask) (dstStageMask) (dependencyFlags) ((fromIntegral (Data.Vector.length $ (memoryBarriers)) :: Word32)) (pPMemoryBarriers) ((fromIntegral (Data.Vector.length $ (bufferMemoryBarriers)) :: Word32)) (pPBufferMemoryBarriers) ((fromIntegral (Data.Vector.length $ (imageMemoryBarriers)) :: Word32)) (forgetExtensions (pPImageMemoryBarriers))+  lift $ traceAroundEvent "vkCmdPipelineBarrier" (vkCmdPipelineBarrier' (commandBufferHandle (commandBuffer)) (srcStageMask) (dstStageMask) (dependencyFlags) ((fromIntegral (Data.Vector.length $ (memoryBarriers)) :: Word32)) (pPMemoryBarriers) ((fromIntegral (Data.Vector.length $ (bufferMemoryBarriers)) :: Word32)) (pPBufferMemoryBarriers) ((fromIntegral (Data.Vector.length $ (imageMemoryBarriers)) :: Word32)) (forgetExtensions (pPImageMemoryBarriers)))   pure $ ()  @@ -8742,7 +8770,7 @@   unless (vkCmdBeginQueryPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBeginQuery is null" Nothing Nothing   let vkCmdBeginQuery' = mkVkCmdBeginQuery vkCmdBeginQueryPtr-  vkCmdBeginQuery' (commandBufferHandle (commandBuffer)) (queryPool) (query) (flags)+  traceAroundEvent "vkCmdBeginQuery" (vkCmdBeginQuery' (commandBufferHandle (commandBuffer)) (queryPool) (query) (flags))   pure $ ()  -- | This function will call the supplied action between calls to@@ -8870,7 +8898,7 @@   unless (vkCmdEndQueryPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdEndQuery is null" Nothing Nothing   let vkCmdEndQuery' = mkVkCmdEndQuery vkCmdEndQueryPtr-  vkCmdEndQuery' (commandBufferHandle (commandBuffer)) (queryPool) (query)+  traceAroundEvent "vkCmdEndQuery" (vkCmdEndQuery' (commandBufferHandle (commandBuffer)) (queryPool) (query))   pure $ ()  @@ -8989,7 +9017,7 @@   unless (vkCmdResetQueryPoolPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdResetQueryPool is null" Nothing Nothing   let vkCmdResetQueryPool' = mkVkCmdResetQueryPool vkCmdResetQueryPoolPtr-  vkCmdResetQueryPool' (commandBufferHandle (commandBuffer)) (queryPool) (firstQuery) (queryCount)+  traceAroundEvent "vkCmdResetQueryPool" (vkCmdResetQueryPool' (commandBufferHandle (commandBuffer)) (queryPool) (firstQuery) (queryCount))   pure $ ()  @@ -9181,7 +9209,7 @@   unless (vkCmdWriteTimestampPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdWriteTimestamp is null" Nothing Nothing   let vkCmdWriteTimestamp' = mkVkCmdWriteTimestamp vkCmdWriteTimestampPtr-  vkCmdWriteTimestamp' (commandBufferHandle (commandBuffer)) (pipelineStage) (queryPool) (query)+  traceAroundEvent "vkCmdWriteTimestamp" (vkCmdWriteTimestamp' (commandBufferHandle (commandBuffer)) (pipelineStage) (queryPool) (query))   pure $ ()  @@ -9415,7 +9443,7 @@   unless (vkCmdCopyQueryPoolResultsPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyQueryPoolResults is null" Nothing Nothing   let vkCmdCopyQueryPoolResults' = mkVkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResultsPtr-  vkCmdCopyQueryPoolResults' (commandBufferHandle (commandBuffer)) (queryPool) (firstQuery) (queryCount) (dstBuffer) (dstOffset) (stride) (flags)+  traceAroundEvent "vkCmdCopyQueryPoolResults" (vkCmdCopyQueryPoolResults' (commandBufferHandle (commandBuffer)) (queryPool) (firstQuery) (queryCount) (dstBuffer) (dstOffset) (stride) (flags))   pure $ ()  @@ -9562,7 +9590,7 @@   unless (vkCmdPushConstantsPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushConstants is null" Nothing Nothing   let vkCmdPushConstants' = mkVkCmdPushConstants vkCmdPushConstantsPtr-  vkCmdPushConstants' (commandBufferHandle (commandBuffer)) (layout) (stageFlags) (offset) (size) (values)+  traceAroundEvent "vkCmdPushConstants" (vkCmdPushConstants' (commandBufferHandle (commandBuffer)) (layout) (stageFlags) (offset) (size) (values))   pure $ ()  @@ -9705,40 +9733,6 @@ --     'Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT' --     set ----- -   #VUID-vkCmdBeginRenderPass-pAttachments-04102# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pInputAttachments@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     containing at least---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'---     or---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'------ -   #VUID-vkCmdBeginRenderPass-pAttachments-04103# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pColorAttachments@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     containing---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'------ -   #VUID-vkCmdBeginRenderPass-pAttachments-04104# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pResolveAttachments@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     containing---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'------ -   #VUID-vkCmdBeginRenderPass-pAttachments-04105# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pDepthStencilAttachment@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     containing---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'--- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBeginRenderPass-commandBuffer-parameter# @commandBuffer@@@ -9804,7 +9798,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBeginRenderPass is null" Nothing Nothing   let vkCmdBeginRenderPass' = mkVkCmdBeginRenderPass vkCmdBeginRenderPassPtr   pRenderPassBegin <- ContT $ withCStruct (renderPassBegin)-  lift $ vkCmdBeginRenderPass' (commandBufferHandle (commandBuffer)) (forgetExtensions pRenderPassBegin) (contents)+  lift $ traceAroundEvent "vkCmdBeginRenderPass" (vkCmdBeginRenderPass' (commandBufferHandle (commandBuffer)) (forgetExtensions pRenderPassBegin) (contents))   pure $ ()  -- | This function will call the supplied action between calls to@@ -9915,7 +9909,7 @@   unless (vkCmdNextSubpassPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdNextSubpass is null" Nothing Nothing   let vkCmdNextSubpass' = mkVkCmdNextSubpass vkCmdNextSubpassPtr-  vkCmdNextSubpass' (commandBufferHandle (commandBuffer)) (contents)+  traceAroundEvent "vkCmdNextSubpass" (vkCmdNextSubpass' (commandBufferHandle (commandBuffer)) (contents))   pure $ ()  @@ -9992,7 +9986,7 @@   unless (vkCmdEndRenderPassPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdEndRenderPass is null" Nothing Nothing   let vkCmdEndRenderPass' = mkVkCmdEndRenderPass vkCmdEndRenderPassPtr-  vkCmdEndRenderPass' (commandBufferHandle (commandBuffer))+  traceAroundEvent "vkCmdEndRenderPass" (vkCmdEndRenderPass' (commandBufferHandle (commandBuffer)))   pure $ ()  @@ -10231,7 +10225,7 @@   let vkCmdExecuteCommands' = mkVkCmdExecuteCommands vkCmdExecuteCommandsPtr   pPCommandBuffers <- ContT $ allocaBytesAligned @(Ptr CommandBuffer_T) ((Data.Vector.length (commandBuffers)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPCommandBuffers `plusPtr` (8 * (i)) :: Ptr (Ptr CommandBuffer_T)) (commandBufferHandle (e))) (commandBuffers)-  lift $ vkCmdExecuteCommands' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (commandBuffers)) :: Word32)) (pPCommandBuffers)+  lift $ traceAroundEvent "vkCmdExecuteCommands" (vkCmdExecuteCommands' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (commandBuffers)) :: Word32)) (pPCommandBuffers))   pure $ ()  
src/Vulkan/Core10/CommandPool.hs view
@@ -12,6 +12,7 @@                                   , CommandPoolResetFlags                                   ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -139,7 +140,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPCommandPool <- ContT $ bracket (callocBytes @CommandPool 8) free-  r <- lift $ vkCreateCommandPool' (deviceHandle (device)) pCreateInfo pAllocator (pPCommandPool)+  r <- lift $ traceAroundEvent "vkCreateCommandPool" (vkCreateCommandPool' (deviceHandle (device)) pCreateInfo pAllocator (pPCommandPool))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCommandPool <- lift $ peek @CommandPool pPCommandPool   pure $ (pCommandPool)@@ -240,7 +241,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyCommandPool' (deviceHandle (device)) (commandPool) pAllocator+  lift $ traceAroundEvent "vkDestroyCommandPool" (vkDestroyCommandPool' (deviceHandle (device)) (commandPool) pAllocator)   pure $ ()  @@ -326,7 +327,7 @@   unless (vkResetCommandPoolPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkResetCommandPool is null" Nothing Nothing   let vkResetCommandPool' = mkVkResetCommandPool vkResetCommandPoolPtr-  r <- vkResetCommandPool' (deviceHandle (device)) (commandPool) (flags)+  r <- traceAroundEvent "vkResetCommandPool" (vkResetCommandPool' (deviceHandle (device)) (commandPool) (flags))   when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Core10/DescriptorSet.hs view
@@ -31,6 +31,7 @@                                     , DescriptorSetLayoutCreateFlags                                     ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -107,6 +108,7 @@ import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ImageLayout (ImageLayout) import Vulkan.Core10.Handles (ImageView)+import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (MutableDescriptorTypeCreateInfoVALVE) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.CStruct.Extends (PokeChain)@@ -205,7 +207,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSetLayout <- ContT $ bracket (callocBytes @DescriptorSetLayout 8) free-  r <- lift $ vkCreateDescriptorSetLayout' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSetLayout)+  r <- lift $ traceAroundEvent "vkCreateDescriptorSetLayout" (vkCreateDescriptorSetLayout' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSetLayout))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSetLayout <- lift $ peek @DescriptorSetLayout pPSetLayout   pure $ (pSetLayout)@@ -293,7 +295,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyDescriptorSetLayout' (deviceHandle (device)) (descriptorSetLayout) pAllocator+  lift $ traceAroundEvent "vkDestroyDescriptorSetLayout" (vkDestroyDescriptorSetLayout' (deviceHandle (device)) (descriptorSetLayout) pAllocator)   pure $ ()  @@ -372,7 +374,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPDescriptorPool <- ContT $ bracket (callocBytes @DescriptorPool 8) free-  r <- lift $ vkCreateDescriptorPool' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPDescriptorPool)+  r <- lift $ traceAroundEvent "vkCreateDescriptorPool" (vkCreateDescriptorPool' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPDescriptorPool))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDescriptorPool <- lift $ peek @DescriptorPool pPDescriptorPool   pure $ (pDescriptorPool)@@ -468,7 +470,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyDescriptorPool' (deviceHandle (device)) (descriptorPool) pAllocator+  lift $ traceAroundEvent "vkDestroyDescriptorPool" (vkDestroyDescriptorPool' (deviceHandle (device)) (descriptorPool) pAllocator)   pure $ ()  @@ -539,7 +541,7 @@   unless (vkResetDescriptorPoolPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkResetDescriptorPool is null" Nothing Nothing   let vkResetDescriptorPool' = mkVkResetDescriptorPool vkResetDescriptorPoolPtr-  _ <- vkResetDescriptorPool' (deviceHandle (device)) (descriptorPool) (flags)+  _ <- traceAroundEvent "vkResetDescriptorPool" (vkResetDescriptorPool' (deviceHandle (device)) (descriptorPool) (flags))   pure $ ()  @@ -668,7 +670,7 @@   let vkAllocateDescriptorSets' = mkVkAllocateDescriptorSets vkAllocateDescriptorSetsPtr   pAllocateInfo <- ContT $ withCStruct (allocateInfo)   pPDescriptorSets <- ContT $ bracket (callocBytes @DescriptorSet ((fromIntegral . Data.Vector.length . setLayouts $ (allocateInfo)) * 8)) free-  r <- lift $ vkAllocateDescriptorSets' (deviceHandle (device)) (forgetExtensions pAllocateInfo) (pPDescriptorSets)+  r <- lift $ traceAroundEvent "vkAllocateDescriptorSets" (vkAllocateDescriptorSets' (deviceHandle (device)) (forgetExtensions pAllocateInfo) (pPDescriptorSets))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDescriptorSets <- lift $ generateM (fromIntegral . Data.Vector.length . setLayouts $ (allocateInfo)) (\i -> peek @DescriptorSet ((pPDescriptorSets `advancePtrBytes` (8 * (i)) :: Ptr DescriptorSet)))   pure $ (pDescriptorSets)@@ -772,7 +774,7 @@   let vkFreeDescriptorSets' = mkVkFreeDescriptorSets vkFreeDescriptorSetsPtr   pPDescriptorSets <- ContT $ allocaBytesAligned @DescriptorSet ((Data.Vector.length (descriptorSets)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorSets `plusPtr` (8 * (i)) :: Ptr DescriptorSet) (e)) (descriptorSets)-  _ <- lift $ vkFreeDescriptorSets' (deviceHandle (device)) (descriptorPool) ((fromIntegral (Data.Vector.length $ (descriptorSets)) :: Word32)) (pPDescriptorSets)+  _ <- lift $ traceAroundEvent "vkFreeDescriptorSets" (vkFreeDescriptorSets' (deviceHandle (device)) (descriptorPool) ((fromIntegral (Data.Vector.length $ (descriptorSets)) :: Word32)) (pPDescriptorSets))   pure $ ()  @@ -869,7 +871,7 @@   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPDescriptorWrites `plusPtr` (64 * (i)) :: Ptr (WriteDescriptorSet _))) (e) . ($ ())) (descriptorWrites)   pPDescriptorCopies <- ContT $ allocaBytesAligned @CopyDescriptorSet ((Data.Vector.length (descriptorCopies)) * 56) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorCopies `plusPtr` (56 * (i)) :: Ptr CopyDescriptorSet) (e)) (descriptorCopies)-  lift $ vkUpdateDescriptorSets' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (descriptorWrites)) :: Word32)) (forgetExtensions (pPDescriptorWrites)) ((fromIntegral (Data.Vector.length $ (descriptorCopies)) :: Word32)) (pPDescriptorCopies)+  lift $ traceAroundEvent "vkUpdateDescriptorSets" (vkUpdateDescriptorSets' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (descriptorWrites)) :: Word32)) (forgetExtensions (pPDescriptorWrites)) ((fromIntegral (Data.Vector.length $ (descriptorCopies)) :: Word32)) (pPDescriptorCopies))   pure $ ()  @@ -1142,6 +1144,9 @@ -- descriptor are discarded. A null acceleration structure descriptor -- results in the miss shader being invoked. --+-- If the destination descriptor is a mutable descriptor, the active+-- descriptor type for the destination descriptor becomes @descriptorType@.+-- -- If the @dstBinding@ has fewer than @descriptorCount@ array elements -- remaining starting from @dstArrayElement@, then the remainder will be -- used to update the subsequent binding - @dstBinding@+1 starting at array@@ -1490,6 +1495,12 @@ --     then @dstSet@ /must/ not have been allocated with a layout that --     included immutable samplers for @dstBinding@ --+-- -   #VUID-VkWriteDescriptorSet-dstSet-04611# If the+--     'DescriptorSetLayoutBinding' for @dstSet@ at @dstBinding@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     the new active descriptor type @descriptorType@ /must/ exist in the+--     corresponding @pMutableDescriptorTypeLists@ list for @dstBinding@+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkWriteDescriptorSet-sType-sType# @sType@ /must/ be@@ -1555,10 +1566,12 @@   , -- | @descriptorType@ is a     -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType' specifying the type     -- of each descriptor in @pImageInfo@, @pBufferInfo@, or-    -- @pTexelBufferView@, as described below. It /must/ be the same type as-    -- that specified in 'DescriptorSetLayoutBinding' for @dstSet@ at-    -- @dstBinding@. The type of the descriptor also controls which array the-    -- descriptors are taken from.+    -- @pTexelBufferView@, as described below. If 'DescriptorSetLayoutBinding'+    -- for @dstSet@ at @dstBinding@ is not equal to+    -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+    -- @descriptorType@ /must/ be the same type as that specified in+    -- 'DescriptorSetLayoutBinding' for @dstSet@ at @dstBinding@. The type of+    -- the descriptor also controls which array the descriptors are taken from.     descriptorType :: DescriptorType   , -- | @pImageInfo@ is a pointer to an array of 'DescriptorImageInfo'     -- structures or is ignored, as described below.@@ -1680,6 +1693,27 @@ -- | VkCopyDescriptorSet - Structure specifying a copy descriptor set -- operation --+-- = Description+--+-- If the 'DescriptorSetLayoutBinding' for @dstBinding@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE' and+-- @srcBinding@ is not+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE', the+-- new active descriptor type becomes the descriptor type of @srcBinding@.+-- If both 'DescriptorSetLayoutBinding' for @srcBinding@ and @dstBinding@+-- are 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+-- the active descriptor type in each source descriptor is copied into the+-- corresponding destination descriptor. The active descriptor type /can/+-- be different for each source descriptor.+--+-- Note+--+-- The intention is that copies to and from mutable descriptors is a simple+-- memcpy. Copies between non-mutable and mutable descriptors are expected+-- to require one memcpy per descriptor to handle the difference in size,+-- but this use case with more than one @descriptorCount@ is considered+-- rare.+-- -- == Valid Usage -- -- -   #VUID-VkCopyDescriptorSet-srcBinding-00345# @srcBinding@ /must/ be a@@ -1766,6 +1800,31 @@ --     @dstSet@ /must/ not have been allocated with a layout that included --     immutable samplers for @dstBinding@ --+-- -   #VUID-VkCopyDescriptorSet-dstSet-04612# If+--     'DescriptorSetLayoutBinding' for @dstSet@ at @dstBinding@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     the new active descriptor type /must/ exist in the corresponding+--     @pMutableDescriptorTypeLists@ list for @dstBinding@ if the new+--     active descriptor type is not+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   #VUID-VkCopyDescriptorSet-srcSet-04613# If+--     'DescriptorSetLayoutBinding' for @srcSet@ at @srcBinding@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--     and the 'DescriptorSetLayoutBinding' for @dstSet@ at @dstBinding@ is+--     not+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     the active descriptor type for the source descriptor /must/ match+--     the descriptor type of @dstBinding@+--+-- -   #VUID-VkCopyDescriptorSet-dstSet-04614# If+--     'DescriptorSetLayoutBinding' for @dstSet@ at @dstBinding@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     and the new active descriptor type is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     the @pMutableDescriptorTypeLists@ for @srcBinding@ and @dstBinding@+--     /must/ match exactly+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkCopyDescriptorSet-sType-sType# @sType@ /must/ be@@ -1939,6 +1998,11 @@ --     @NULL@, @pImmutableSamplers@ /must/ be a valid pointer to an array --     of @descriptorCount@ valid 'Vulkan.Core10.Handles.Sampler' handles --+-- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-04604# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-inlineUniformBlock inlineUniformBlock>+--     feature is not enabled, @descriptorType@ /must/ not be+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT'+-- -- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-02209# If --     @descriptorType@ is --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT'@@ -1967,6 +2031,11 @@ --     'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_CUSTOM_EXT' or --     'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_INT_CUSTOM_EXT' --+-- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-04605# If+--     @descriptorType@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     then @pImmutableSamplers@ /must/ be @NULL@.+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-parameter#@@ -2101,6 +2170,18 @@ --     than or equal to --     'Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR'::@maxPushDescriptors@ --+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-04590# If @flags@+--     contains+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR',+--     @flags@ /must/ not contain+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+--+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-04591# If @flags@+--     contains+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR',+--     @pBindings@ /must/ not have a @descriptorType@ of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+-- -- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-03000# If any binding --     has the --     'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT'@@ -2115,14 +2196,47 @@ --     or --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC' --+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-04592# If @flags@+--     contains+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT',+--     @flags@ /must/ not contain+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+--+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-descriptorType-04593# If any+--     binding has a @descriptorType@ of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     then a+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE'+--     /must/ be present in the @pNext@ chain+--+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-descriptorType-04594# If a+--     binding has a @descriptorType@ value of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',+--     then @pImmutableSamplers@ /must/ be @NULL@+--+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-mutableDescriptorType-04595#+--     If+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'::@mutableDescriptorType@+--     is not enabled, @pBindings@ /must/ not contain a @descriptorType@ of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-04596# If @flags@+--     contains+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE',+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'::@mutableDescriptorType@+--     /must/ be enabled+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkDescriptorSetLayoutCreateInfo-sType-sType# @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO' ----- -   #VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext# @pNext@ /must/ be---     @NULL@ or a pointer to a valid instance of+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext# Each @pNext@+--     member of any structure (including this one) in the @pNext@ chain+--     /must/ be either @NULL@ or a pointer to a valid instance of --     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetLayoutBindingFlagsCreateInfo'+--     or+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE' -- -- -   #VUID-VkDescriptorSetLayoutCreateInfo-sType-unique# The @sType@ --     value of each struct in the @pNext@ chain /must/ be unique@@ -2168,6 +2282,7 @@   getNext DescriptorSetLayoutCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DescriptorSetLayoutCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @MutableDescriptorTypeCreateInfoVALVE = Just f     | Just Refl <- eqT @e @DescriptorSetLayoutBindingFlagsCreateInfo = Just f     | otherwise = Nothing @@ -2331,19 +2446,63 @@ -- set exceeds @maxUpdateAfterBindDescriptorsInAllPools@, or if -- fragmentation of the underlying hardware resources occurs. --+-- If a @pPoolSizes@[i]::@type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE', a+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE'+-- struct in the @pNext@ chain /can/ be used to specify which mutable+-- descriptor types /can/ be allocated from the pool. If present in the+-- @pNext@ chain,+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE'::@pMutableDescriptorTypeLists@[i]+-- specifies which kind of+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+-- descriptors /can/ be allocated from this pool entry. If+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE'+-- does not exist in the @pNext@ chain, or+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE'::@pMutableDescriptorTypeLists@[i]+-- is out of range, the descriptor pool allocates enough memory to be able+-- to allocate a+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+-- descriptor with any supported+-- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType' as a mutable+-- descriptor. A mutable descriptor /can/ be allocated from a pool entry if+-- the type list in 'DescriptorSetLayoutCreateInfo' is a subset of the type+-- list declared in the descriptor pool, or if the pool entry is created+-- without a descriptor type list.+-- -- == Valid Usage -- -- -   #VUID-VkDescriptorPoolCreateInfo-maxSets-00301# @maxSets@ /must/ be --     greater than @0@ --+-- -   #VUID-VkDescriptorPoolCreateInfo-flags-04607# If @flags@ has the+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+--     bit set, then the+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT'+--     bit /must/ not be set+--+-- -   #VUID-VkDescriptorPoolCreateInfo-mutableDescriptorType-04608# If+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'::@mutableDescriptorType@+--     is not enabled, @pPoolSizes@ /must/ not contain a @descriptorType@+--     of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   #VUID-VkDescriptorPoolCreateInfo-flags-04609# If @flags@ has the+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+--     bit set,+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'::@mutableDescriptorType@+--     /must/ be enabled+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkDescriptorPoolCreateInfo-sType-sType# @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO' ----- -   #VUID-VkDescriptorPoolCreateInfo-pNext-pNext# @pNext@ /must/ be---     @NULL@ or a pointer to a valid instance of+-- -   #VUID-VkDescriptorPoolCreateInfo-pNext-pNext# Each @pNext@ member of+--     any structure (including this one) in the @pNext@ chain /must/ be+--     either @NULL@ or a pointer to a valid instance of --     'Vulkan.Extensions.VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfoEXT'+--     or+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE' -- -- -   #VUID-VkDescriptorPoolCreateInfo-sType-unique# The @sType@ value of --     each struct in the @pNext@ chain /must/ be unique@@ -2392,6 +2551,7 @@   getNext DescriptorPoolCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DescriptorPoolCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @MutableDescriptorTypeCreateInfoVALVE = Just f     | Just Refl <- eqT @e @DescriptorPoolInlineUniformBlockCreateInfoEXT = Just f     | otherwise = Nothing @@ -2457,6 +2617,13 @@ --     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT' --     flag set --+-- -   #VUID-VkDescriptorSetAllocateInfo-pSetLayouts-04610# If any element+--     of @pSetLayouts@ was created with the+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+--     bit set, @descriptorPool@ /must/ have been created with the+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+--     flag set+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkDescriptorSetAllocateInfo-sType-sType# @sType@ /must/ be@@ -2474,17 +2641,12 @@ --     'Vulkan.Core10.Handles.DescriptorPool' handle -- -- -   #VUID-VkDescriptorSetAllocateInfo-pSetLayouts-parameter#---     @pSetLayouts@ /must/ be a valid pointer to an array of---     @descriptorSetCount@ valid---     'Vulkan.Core10.Handles.DescriptorSetLayout' handles------ -   #VUID-VkDescriptorSetAllocateInfo-descriptorSetCount-arraylength#---     @descriptorSetCount@ /must/ be greater than @0@+--     @pSetLayouts@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.Handles.DescriptorSetLayout' handle -- -- -   #VUID-VkDescriptorSetAllocateInfo-commonparent# Both of---     @descriptorPool@, and the elements of @pSetLayouts@ /must/ have been---     created, allocated, or retrieved from the same---     'Vulkan.Core10.Handles.Device'+--     @descriptorPool@, and @pSetLayouts@ /must/ have been created,+--     allocated, or retrieved from the same 'Vulkan.Core10.Handles.Device' -- -- = See Also --
src/Vulkan/Core10/Device.hs view
@@ -11,6 +11,7 @@                              , DeviceQueueCreateFlags                              ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -121,6 +122,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_mesh_shader (PhysicalDeviceMeshShaderFeaturesNV) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewFeatures)+import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesVALVE) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PhysicalDevicePipelineExecutablePropertiesFeaturesKHR)@@ -286,7 +288,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPDevice <- ContT $ bracket (callocBytes @(Ptr Device_T) 8) free-  r <- lift $ vkCreateDevice' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pCreateInfo) pAllocator (pPDevice)+  r <- lift $ traceAroundEvent "vkCreateDevice" (vkCreateDevice' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pCreateInfo) pAllocator (pPDevice))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDevice <- lift $ peek @(Ptr Device_T) pPDevice   pDevice' <- lift $ (\h -> Device h <$> initDeviceCmds cmds h) pDevice@@ -382,7 +384,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyDevice' (deviceHandle (device)) pAllocator+  lift $ traceAroundEvent "vkDestroyDevice" (vkDestroyDevice' (deviceHandle (device)) pAllocator)   pure $ ()  @@ -716,6 +718,7 @@ --     'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', --     'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV', --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',+--     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE', --     'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', --     'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT', --     'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR',@@ -834,6 +837,7 @@   getNext DeviceCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = Just f     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderTerminateInvocationFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateFeaturesKHR = Just f
src/Vulkan/Core10/DeviceInitialization.hs view
@@ -64,6 +64,7 @@                                            ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -323,7 +324,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPInstance <- ContT $ bracket (callocBytes @(Ptr Instance_T) 8) free-  r <- lift $ vkCreateInstance' (forgetExtensions pCreateInfo) pAllocator (pPInstance)+  r <- lift $ traceAroundEvent "vkCreateInstance" (vkCreateInstance' (forgetExtensions pCreateInfo) pAllocator (pPInstance))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pInstance <- lift $ peek @(Ptr Instance_T) pPInstance   pInstance' <- lift $ (\h -> Instance h <$> initInstanceCmds h) pInstance@@ -405,7 +406,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyInstance' (instanceHandle (instance')) pAllocator+  lift $ traceAroundEvent "vkDestroyInstance" (vkDestroyInstance' (instanceHandle (instance')) pAllocator)   pure $ ()  @@ -481,11 +482,11 @@   let vkEnumeratePhysicalDevices' = mkVkEnumeratePhysicalDevices vkEnumeratePhysicalDevicesPtr   let instance'' = instanceHandle (instance')   pPPhysicalDeviceCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumeratePhysicalDevices' instance'' (pPPhysicalDeviceCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkEnumeratePhysicalDevices" (vkEnumeratePhysicalDevices' instance'' (pPPhysicalDeviceCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPhysicalDeviceCount <- lift $ peek @Word32 pPPhysicalDeviceCount   pPPhysicalDevices <- ContT $ bracket (callocBytes @(Ptr PhysicalDevice_T) ((fromIntegral (pPhysicalDeviceCount)) * 8)) free-  r' <- lift $ vkEnumeratePhysicalDevices' instance'' (pPPhysicalDeviceCount) (pPPhysicalDevices)+  r' <- lift $ traceAroundEvent "vkEnumeratePhysicalDevices" (vkEnumeratePhysicalDevices' instance'' (pPPhysicalDeviceCount) (pPPhysicalDevices))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPhysicalDeviceCount' <- lift $ peek @Word32 pPPhysicalDeviceCount   pPhysicalDevices' <- lift $ generateM (fromIntegral (pPhysicalDeviceCount')) (\i -> do@@ -574,7 +575,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceProcAddr is null" Nothing Nothing   let vkGetDeviceProcAddr' = mkVkGetDeviceProcAddr vkGetDeviceProcAddrPtr   pName <- ContT $ useAsCString (name)-  r <- lift $ vkGetDeviceProcAddr' (deviceHandle (device)) pName+  r <- lift $ traceAroundEvent "vkGetDeviceProcAddr" (vkGetDeviceProcAddr' (deviceHandle (device)) pName)   pure $ (r)  @@ -679,7 +680,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetInstanceProcAddr is null" Nothing Nothing   let vkGetInstanceProcAddr' = mkVkGetInstanceProcAddr vkGetInstanceProcAddrPtr   pName <- ContT $ useAsCString (name)-  r <- lift $ vkGetInstanceProcAddr' (instanceHandle (instance')) pName+  r <- lift $ traceAroundEvent "vkGetInstanceProcAddr" (vkGetInstanceProcAddr' (instanceHandle (instance')) pName)   pure $ (r)  @@ -713,7 +714,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceProperties is null" Nothing Nothing   let vkGetPhysicalDeviceProperties' = mkVkGetPhysicalDeviceProperties vkGetPhysicalDevicePropertiesPtr   pPProperties <- ContT (withZeroCStruct @PhysicalDeviceProperties)-  lift $ vkGetPhysicalDeviceProperties' (physicalDeviceHandle (physicalDevice)) (pPProperties)+  lift $ traceAroundEvent "vkGetPhysicalDeviceProperties" (vkGetPhysicalDeviceProperties' (physicalDeviceHandle (physicalDevice)) (pPProperties))   pProperties <- lift $ peekCStruct @PhysicalDeviceProperties pPProperties   pure $ (pProperties) @@ -773,11 +774,11 @@   let vkGetPhysicalDeviceQueueFamilyProperties' = mkVkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyPropertiesPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPQueueFamilyPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetPhysicalDeviceQueueFamilyProperties' physicalDevice' (pPQueueFamilyPropertyCount) (nullPtr)+  lift $ traceAroundEvent "vkGetPhysicalDeviceQueueFamilyProperties" (vkGetPhysicalDeviceQueueFamilyProperties' physicalDevice' (pPQueueFamilyPropertyCount) (nullPtr))   pQueueFamilyPropertyCount <- lift $ peek @Word32 pPQueueFamilyPropertyCount   pPQueueFamilyProperties <- ContT $ bracket (callocBytes @QueueFamilyProperties ((fromIntegral (pQueueFamilyPropertyCount)) * 24)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPQueueFamilyProperties `advancePtrBytes` (i * 24) :: Ptr QueueFamilyProperties) . ($ ())) [0..(fromIntegral (pQueueFamilyPropertyCount)) - 1]-  lift $ vkGetPhysicalDeviceQueueFamilyProperties' physicalDevice' (pPQueueFamilyPropertyCount) ((pPQueueFamilyProperties))+  lift $ traceAroundEvent "vkGetPhysicalDeviceQueueFamilyProperties" (vkGetPhysicalDeviceQueueFamilyProperties' physicalDevice' (pPQueueFamilyPropertyCount) ((pPQueueFamilyProperties)))   pQueueFamilyPropertyCount' <- lift $ peek @Word32 pPQueueFamilyPropertyCount   pQueueFamilyProperties' <- lift $ generateM (fromIntegral (pQueueFamilyPropertyCount')) (\i -> peekCStruct @QueueFamilyProperties (((pPQueueFamilyProperties) `advancePtrBytes` (24 * (i)) :: Ptr QueueFamilyProperties)))   pure $ (pQueueFamilyProperties')@@ -813,7 +814,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceMemoryProperties is null" Nothing Nothing   let vkGetPhysicalDeviceMemoryProperties' = mkVkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryPropertiesPtr   pPMemoryProperties <- ContT (withZeroCStruct @PhysicalDeviceMemoryProperties)-  lift $ vkGetPhysicalDeviceMemoryProperties' (physicalDeviceHandle (physicalDevice)) (pPMemoryProperties)+  lift $ traceAroundEvent "vkGetPhysicalDeviceMemoryProperties" (vkGetPhysicalDeviceMemoryProperties' (physicalDeviceHandle (physicalDevice)) (pPMemoryProperties))   pMemoryProperties <- lift $ peekCStruct @PhysicalDeviceMemoryProperties pPMemoryProperties   pure $ (pMemoryProperties) @@ -848,7 +849,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceFeatures is null" Nothing Nothing   let vkGetPhysicalDeviceFeatures' = mkVkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeaturesPtr   pPFeatures <- ContT (withZeroCStruct @PhysicalDeviceFeatures)-  lift $ vkGetPhysicalDeviceFeatures' (physicalDeviceHandle (physicalDevice)) (pPFeatures)+  lift $ traceAroundEvent "vkGetPhysicalDeviceFeatures" (vkGetPhysicalDeviceFeatures' (physicalDeviceHandle (physicalDevice)) (pPFeatures))   pFeatures <- lift $ peekCStruct @PhysicalDeviceFeatures pPFeatures   pure $ (pFeatures) @@ -890,7 +891,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceFormatProperties is null" Nothing Nothing   let vkGetPhysicalDeviceFormatProperties' = mkVkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatPropertiesPtr   pPFormatProperties <- ContT (withZeroCStruct @FormatProperties)-  lift $ vkGetPhysicalDeviceFormatProperties' (physicalDeviceHandle (physicalDevice)) (format) (pPFormatProperties)+  lift $ traceAroundEvent "vkGetPhysicalDeviceFormatProperties" (vkGetPhysicalDeviceFormatProperties' (physicalDeviceHandle (physicalDevice)) (format) (pPFormatProperties))   pFormatProperties <- lift $ peekCStruct @FormatProperties pPFormatProperties   pure $ (pFormatProperties) @@ -1017,7 +1018,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceImageFormatProperties is null" Nothing Nothing   let vkGetPhysicalDeviceImageFormatProperties' = mkVkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatPropertiesPtr   pPImageFormatProperties <- ContT (withZeroCStruct @ImageFormatProperties)-  r <- lift $ vkGetPhysicalDeviceImageFormatProperties' (physicalDeviceHandle (physicalDevice)) (format) (type') (tiling) (usage) (flags) (pPImageFormatProperties)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceImageFormatProperties" (vkGetPhysicalDeviceImageFormatProperties' (physicalDeviceHandle (physicalDevice)) (format) (type') (tiling) (usage) (flags) (pPImageFormatProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pImageFormatProperties <- lift $ peekCStruct @ImageFormatProperties pPImageFormatProperties   pure $ (pImageFormatProperties)
src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs view
@@ -2,6 +2,7 @@ -- No documentation found for Chapter "DescriptorPoolCreateFlagBits" module Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits  ( DescriptorPoolCreateFlags                                                          , DescriptorPoolCreateFlagBits( DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT+                                                                                       , DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE                                                                                        , DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT                                                                                        , ..                                                                                        )@@ -39,6 +40,17 @@ -- 'Vulkan.Core10.DescriptorSet.allocateDescriptorSets' and -- 'Vulkan.Core10.DescriptorSet.resetDescriptorPool' are allowed. pattern DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = DescriptorPoolCreateFlagBits 0x00000001+-- | 'DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE' specifies that this+-- descriptor pool and the descriptor sets allocated from it reside+-- entirely in host memory and cannot be bound. Descriptor sets allocated+-- from this pool are partially exempt from the external synchronization+-- requirement in+-- 'Vulkan.Extensions.VK_KHR_descriptor_update_template.updateDescriptorSetWithTemplateKHR'+-- and 'Vulkan.Core10.DescriptorSet.updateDescriptorSets'. Descriptor sets+-- and their descriptors can be updated concurrently in different threads,+-- though the same descriptor /must/ not be updated concurrently by two+-- threads.+pattern DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE     = DescriptorPoolCreateFlagBits 0x00000004 -- | 'DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT' specifies that descriptor -- sets allocated from this pool /can/ include bindings with the -- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT'@@ -58,6 +70,7 @@ showTableDescriptorPoolCreateFlagBits :: [(DescriptorPoolCreateFlagBits, String)] showTableDescriptorPoolCreateFlagBits =   [ (DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, "FREE_DESCRIPTOR_SET_BIT")+  , (DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE    , "HOST_ONLY_BIT_VALVE")   , (DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT  , "UPDATE_AFTER_BIND_BIT")   ] 
src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs view
@@ -1,7 +1,8 @@ {-# language CPP #-} -- No documentation found for Chapter "DescriptorSetLayoutCreateFlagBits" module Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits  ( DescriptorSetLayoutCreateFlags-                                                              , DescriptorSetLayoutCreateFlagBits( DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR+                                                              , DescriptorSetLayoutCreateFlagBits( DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE+                                                                                                 , DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR                                                                                                  , DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT                                                                                                  , ..                                                                                                  )@@ -29,6 +30,17 @@ newtype DescriptorSetLayoutCreateFlagBits = DescriptorSetLayoutCreateFlagBits Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits) +-- | 'DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE' specifies that+-- descriptor sets using this layout /must/ be allocated from a descriptor+-- pool created with the+-- 'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+-- bit set. Descriptor set layouts created with this bit have no+-- expressable limit for maximum number of descriptors per-stage. Host+-- descriptor sets are limited only by available host memory, but /may/ be+-- limited for implementation specific reasons. Implementations /may/ limit+-- the number of supported descriptors to UpdateAfterBind limits or+-- non-UpdateAfterBind limits, whichever is larger.+pattern DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE   = DescriptorSetLayoutCreateFlagBits 0x00000004 -- | 'DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR' specifies that -- descriptor sets /must/ not be allocated using this layout, and -- descriptors are instead pushed by@@ -54,7 +66,8 @@  showTableDescriptorSetLayoutCreateFlagBits :: [(DescriptorSetLayoutCreateFlagBits, String)] showTableDescriptorSetLayoutCreateFlagBits =-  [ (DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR   , "PUSH_DESCRIPTOR_BIT_KHR")+  [ (DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE  , "HOST_ONLY_POOL_BIT_VALVE")+  , (DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR   , "PUSH_DESCRIPTOR_BIT_KHR")   , (DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, "UPDATE_AFTER_BIND_POOL_BIT")   ] 
src/Vulkan/Core10/Enums/DescriptorType.hs view
@@ -11,6 +11,7 @@                                                           , DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC                                                           , DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC                                                           , DESCRIPTOR_TYPE_INPUT_ATTACHMENT+                                                          , DESCRIPTOR_TYPE_MUTABLE_VALVE                                                           , DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV                                                           , DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR                                                           , DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT@@ -66,6 +67,9 @@ -- -   'DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT' specifies an --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-inlineuniformblock inline uniform block>. --+-- -   'DESCRIPTOR_TYPE_MUTABLE_VALVE' specifies a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-mutable descriptor of mutable type>.+-- -- When a descriptor set is updated via elements of -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet', members of -- @pImageInfo@, @pBufferInfo@ and @pTexelBufferView@ are only accessed by@@ -131,6 +135,7 @@ -- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding', -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX',+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeListVALVE', -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet' newtype DescriptorType = DescriptorType Int32   deriving newtype (Eq, Ord, Storable, Zero)@@ -157,6 +162,8 @@ pattern DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC     = DescriptorType 9 -- No documentation found for Nested "VkDescriptorType" "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT" pattern DESCRIPTOR_TYPE_INPUT_ATTACHMENT           = DescriptorType 10+-- No documentation found for Nested "VkDescriptorType" "VK_DESCRIPTOR_TYPE_MUTABLE_VALVE"+pattern DESCRIPTOR_TYPE_MUTABLE_VALVE              = DescriptorType 1000351000 -- No documentation found for Nested "VkDescriptorType" "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV" pattern DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV  = DescriptorType 1000165000 -- No documentation found for Nested "VkDescriptorType" "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"@@ -174,6 +181,7 @@              DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,              DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,              DESCRIPTOR_TYPE_INPUT_ATTACHMENT,+             DESCRIPTOR_TYPE_MUTABLE_VALVE,              DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV,              DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,              DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT :: DescriptorType #-}@@ -197,6 +205,7 @@   , (DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC    , "UNIFORM_BUFFER_DYNAMIC")   , (DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC    , "STORAGE_BUFFER_DYNAMIC")   , (DESCRIPTOR_TYPE_INPUT_ATTACHMENT          , "INPUT_ATTACHMENT")+  , (DESCRIPTOR_TYPE_MUTABLE_VALVE             , "MUTABLE_VALVE")   , (DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV , "ACCELERATION_STRUCTURE_NV")   , (DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, "ACCELERATION_STRUCTURE_KHR")   , (DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT  , "INLINE_UNIFORM_BLOCK_EXT")
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -49,6 +49,8 @@                                                         , STRUCTURE_TYPE_MEMORY_BARRIER                                                         , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                                         , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO+                                                        , STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE                                                         , STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                                                         , STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR@@ -710,6 +712,7 @@ -- 'Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR', -- 'Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT', -- 'Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT',+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE', -- 'Vulkan.Extensions.VK_INTEL_performance_query.PerformanceConfigurationAcquireInfoINTEL', -- 'Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterDescriptionKHR', -- 'Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterKHR',@@ -790,6 +793,7 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures', -- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX', -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties',+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE', -- 'Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR',@@ -1075,6 +1079,10 @@ pattern STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO               = StructureType 47 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO" pattern STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                 = StructureType 48+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE"+pattern STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = StructureType 1000351002+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = StructureType 1000351000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT" pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT          = StructureType 1000346000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"@@ -1968,6 +1976,8 @@              STRUCTURE_TYPE_MEMORY_BARRIER,              STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,              STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,+             STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE,+             STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,              STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,              STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,              STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,@@ -2448,21 +2458,25 @@   , (STRUCTURE_TYPE_MEMORY_BARRIER                           , "MEMORY_BARRIER")   , (STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO              , "LOADER_INSTANCE_CREATE_INFO")   , (STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                , "LOADER_DEVICE_CREATE_INFO")-  , (STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT         , "DIRECTFB_SURFACE_CREATE_INFO_EXT")-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, "PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT")-  , (STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                      , "IMAGE_RESOLVE_2_KHR")-  , (STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                  , "BUFFER_IMAGE_COPY_2_KHR")-  , (STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                         , "IMAGE_BLIT_2_KHR")-  , (STRUCTURE_TYPE_IMAGE_COPY_2_KHR                         , "IMAGE_COPY_2_KHR")-  , (STRUCTURE_TYPE_BUFFER_COPY_2_KHR                        , "BUFFER_COPY_2_KHR")-  , (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                 , "RESOLVE_IMAGE_INFO_2_KHR")-  , (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                    , "BLIT_IMAGE_INFO_2_KHR")-  , (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR          , "COPY_IMAGE_TO_BUFFER_INFO_2_KHR")-  , (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR          , "COPY_BUFFER_TO_IMAGE_INFO_2_KHR")-  , (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                    , "COPY_IMAGE_INFO_2_KHR")-  , (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                   , "COPY_BUFFER_INFO_2_KHR")+  , (STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE, "MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE")+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE+    , "PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"+    )+  , (STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT             , "DIRECTFB_SURFACE_CREATE_INFO_EXT")+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT    , "PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT")+  , (STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                          , "IMAGE_RESOLVE_2_KHR")+  , (STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                      , "BUFFER_IMAGE_COPY_2_KHR")+  , (STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                             , "IMAGE_BLIT_2_KHR")+  , (STRUCTURE_TYPE_IMAGE_COPY_2_KHR                             , "IMAGE_COPY_2_KHR")+  , (STRUCTURE_TYPE_BUFFER_COPY_2_KHR                            , "BUFFER_COPY_2_KHR")+  , (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                     , "RESOLVE_IMAGE_INFO_2_KHR")+  , (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                        , "BLIT_IMAGE_INFO_2_KHR")+  , (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR              , "COPY_IMAGE_TO_BUFFER_INFO_2_KHR")+  , (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR              , "COPY_BUFFER_TO_IMAGE_INFO_2_KHR")+  , (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                        , "COPY_IMAGE_INFO_2_KHR")+  , (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                       , "COPY_BUFFER_INFO_2_KHR")   , (STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, "PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT")-  , (STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM         , "COPY_COMMAND_TRANSFORM_INFO_QCOM")+  , (STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM             , "COPY_COMMAND_TRANSFORM_INFO_QCOM")   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT     , "PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT"     )
src/Vulkan/Core10/Enums/VendorId.hs view
@@ -5,6 +5,7 @@                                               , VENDOR_ID_KAZAN                                               , VENDOR_ID_CODEPLAY                                               , VENDOR_ID_MESA+                                              , VENDOR_ID_POCL                                               , ..                                               )) where @@ -48,11 +49,14 @@ pattern VENDOR_ID_CODEPLAY = VendorId 65540 -- No documentation found for Nested "VkVendorId" "VK_VENDOR_ID_MESA" pattern VENDOR_ID_MESA     = VendorId 65541+-- No documentation found for Nested "VkVendorId" "VK_VENDOR_ID_POCL"+pattern VENDOR_ID_POCL     = VendorId 65542 {-# complete VENDOR_ID_VIV,              VENDOR_ID_VSI,              VENDOR_ID_KAZAN,              VENDOR_ID_CODEPLAY,-             VENDOR_ID_MESA :: VendorId #-}+             VENDOR_ID_MESA,+             VENDOR_ID_POCL :: VendorId #-}  conNameVendorId :: String conNameVendorId = "VendorId"@@ -67,6 +71,7 @@   , (VENDOR_ID_KAZAN   , "KAZAN")   , (VENDOR_ID_CODEPLAY, "CODEPLAY")   , (VENDOR_ID_MESA    , "MESA")+  , (VENDOR_ID_POCL    , "POCL")   ]  instance Show VendorId where
src/Vulkan/Core10/Event.hs view
@@ -11,6 +11,7 @@                             , EventCreateFlags(..)                             ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -140,7 +141,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPEvent <- ContT $ bracket (callocBytes @Event 8) free-  r <- lift $ vkCreateEvent' (deviceHandle (device)) pCreateInfo pAllocator (pPEvent)+  r <- lift $ traceAroundEvent "vkCreateEvent" (vkCreateEvent' (deviceHandle (device)) pCreateInfo pAllocator (pPEvent))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pEvent <- lift $ peek @Event pPEvent   pure $ (pEvent)@@ -225,7 +226,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyEvent' (deviceHandle (device)) (event) pAllocator+  lift $ traceAroundEvent "vkDestroyEvent" (vkDestroyEvent' (deviceHandle (device)) (event) pAllocator)   pure $ ()  @@ -307,7 +308,7 @@   unless (vkGetEventStatusPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetEventStatus is null" Nothing Nothing   let vkGetEventStatus' = mkVkGetEventStatus vkGetEventStatusPtr-  r <- vkGetEventStatus' (deviceHandle (device)) (event)+  r <- traceAroundEvent "vkGetEventStatus" (vkGetEventStatus' (deviceHandle (device)) (event))   when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -371,7 +372,7 @@   unless (vkSetEventPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetEvent is null" Nothing Nothing   let vkSetEvent' = mkVkSetEvent vkSetEventPtr-  r <- vkSetEvent' (deviceHandle (device)) (event)+  r <- traceAroundEvent "vkSetEvent" (vkSetEvent' (deviceHandle (device)) (event))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -439,7 +440,7 @@   unless (vkResetEventPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkResetEvent is null" Nothing Nothing   let vkResetEvent' = mkVkResetEvent vkResetEventPtr-  r <- vkResetEvent' (deviceHandle (device)) (event)+  r <- traceAroundEvent "vkResetEvent" (vkResetEvent' (deviceHandle (device)) (event))   when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Core10/ExtensionDiscovery.hs view
@@ -6,6 +6,7 @@                                          ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -149,12 +150,12 @@     Nothing -> pure nullPtr     Just j -> ContT $ useAsCString (j)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumerateInstanceExtensionProperties' pLayerName (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkEnumerateInstanceExtensionProperties" (vkEnumerateInstanceExtensionProperties' pLayerName (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @ExtensionProperties ((fromIntegral (pPropertyCount)) * 260)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 260) :: Ptr ExtensionProperties) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkEnumerateInstanceExtensionProperties' pLayerName (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkEnumerateInstanceExtensionProperties" (vkEnumerateInstanceExtensionProperties' pLayerName (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @ExtensionProperties (((pPProperties) `advancePtrBytes` (260 * (i)) :: Ptr ExtensionProperties)))@@ -237,12 +238,12 @@     Nothing -> pure nullPtr     Just j -> ContT $ useAsCString (j)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumerateDeviceExtensionProperties' physicalDevice' pLayerName (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkEnumerateDeviceExtensionProperties" (vkEnumerateDeviceExtensionProperties' physicalDevice' pLayerName (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @ExtensionProperties ((fromIntegral (pPropertyCount)) * 260)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 260) :: Ptr ExtensionProperties) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkEnumerateDeviceExtensionProperties' physicalDevice' pLayerName (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkEnumerateDeviceExtensionProperties" (vkEnumerateDeviceExtensionProperties' physicalDevice' pLayerName (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @ExtensionProperties (((pPProperties) `advancePtrBytes` (260 * (i)) :: Ptr ExtensionProperties)))
src/Vulkan/Core10/Fence.hs view
@@ -13,6 +13,7 @@                             , FenceCreateFlags                             ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -150,7 +151,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPFence <- ContT $ bracket (callocBytes @Fence 8) free-  r <- lift $ vkCreateFence' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPFence)+  r <- lift $ traceAroundEvent "vkCreateFence" (vkCreateFence' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPFence))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFence <- lift $ peek @Fence pPFence   pure $ (pFence)@@ -236,7 +237,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyFence' (deviceHandle (device)) (fence) pAllocator+  lift $ traceAroundEvent "vkDestroyFence" (vkDestroyFence' (deviceHandle (device)) (fence) pAllocator)   pure $ ()  @@ -318,7 +319,7 @@   let vkResetFences' = mkVkResetFences vkResetFencesPtr   pPFences <- ContT $ allocaBytesAligned @Fence ((Data.Vector.length (fences)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPFences `plusPtr` (8 * (i)) :: Ptr Fence) (e)) (fences)-  r <- lift $ vkResetFences' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (fences)) :: Word32)) (pPFences)+  r <- lift $ traceAroundEvent "vkResetFences" (vkResetFences' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (fences)) :: Word32)) (pPFences))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -401,7 +402,7 @@   unless (vkGetFenceStatusPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetFenceStatus is null" Nothing Nothing   let vkGetFenceStatus' = mkVkGetFenceStatus vkGetFenceStatusPtr-  r <- vkGetFenceStatus' (deviceHandle (device)) (fence)+  r <- traceAroundEvent "vkGetFenceStatus" (vkGetFenceStatus' (deviceHandle (device)) (fence))   when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -445,7 +446,7 @@   let vkWaitForFences' = mkVkWaitForFences vkWaitForFencesPtr   pPFences <- ContT $ allocaBytesAligned @Fence ((Data.Vector.length (fences)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPFences `plusPtr` (8 * (i)) :: Ptr Fence) (e)) (fences)-  r <- lift $ vkWaitForFences' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (fences)) :: Word32)) (pPFences) (boolToBool32 (waitAll)) (timeout)+  r <- lift $ traceAroundEvent "vkWaitForFences" (vkWaitForFences' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (fences)) :: Word32)) (pPFences) (boolToBool32 (waitAll)) (timeout))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) 
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -443,6 +443,7 @@ -- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures', -- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR', -- 'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT',
src/Vulkan/Core10/Handles.hs view
@@ -123,6 +123,7 @@ -- -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.DeviceGroupDeviceCreateInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties',+-- 'Vulkan.Extensions.VK_NV_acquire_winrt_display.acquireWinrtDisplayNV', -- 'Vulkan.Extensions.VK_EXT_acquire_xlib_display.acquireXlibDisplayEXT', -- 'Vulkan.Core10.Device.createDevice', -- 'Vulkan.Extensions.VK_KHR_display.createDisplayModeKHR',@@ -189,6 +190,7 @@ -- 'Vulkan.Extensions.VK_KHR_xcb_surface.getPhysicalDeviceXcbPresentationSupportKHR', -- 'Vulkan.Extensions.VK_KHR_xlib_surface.getPhysicalDeviceXlibPresentationSupportKHR', -- 'Vulkan.Extensions.VK_EXT_acquire_xlib_display.getRandROutputDisplayEXT',+-- 'Vulkan.Extensions.VK_NV_acquire_winrt_display.getWinrtDisplayNV', -- 'Vulkan.Extensions.VK_EXT_direct_mode_display.releaseDisplayEXT' data PhysicalDevice = PhysicalDevice   { physicalDeviceHandle :: Ptr PhysicalDevice_T
src/Vulkan/Core10/Image.hs view
@@ -10,6 +10,7 @@                             , ImageLayout(..)                             ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -171,7 +172,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPImage <- ContT $ bracket (callocBytes @Image 8) free-  r <- lift $ vkCreateImage' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPImage)+  r <- lift $ traceAroundEvent "vkCreateImage" (vkCreateImage' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPImage))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pImage <- lift $ peek @Image pPImage   pure $ (pImage)@@ -257,7 +258,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyImage' (deviceHandle (device)) (image) pAllocator+  lift $ traceAroundEvent "vkDestroyImage" (vkDestroyImage' (deviceHandle (device)) (image) pAllocator)   pure $ ()  @@ -417,7 +418,7 @@   let vkGetImageSubresourceLayout' = mkVkGetImageSubresourceLayout vkGetImageSubresourceLayoutPtr   pSubresource <- ContT $ withCStruct (subresource)   pPLayout <- ContT (withZeroCStruct @SubresourceLayout)-  lift $ vkGetImageSubresourceLayout' (deviceHandle (device)) (image) pSubresource (pPLayout)+  lift $ traceAroundEvent "vkGetImageSubresourceLayout" (vkGetImageSubresourceLayout' (deviceHandle (device)) (image) pSubresource (pPLayout))   pLayout <- lift $ peekCStruct @SubresourceLayout pPLayout   pure $ (pLayout) 
src/Vulkan/Core10/ImageView.hs view
@@ -13,6 +13,7 @@                                 , ImageViewCreateFlags                                 ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -150,7 +151,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPView <- ContT $ bracket (callocBytes @ImageView 8) free-  r <- lift $ vkCreateImageView' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPView)+  r <- lift $ traceAroundEvent "vkCreateImageView" (vkCreateImageView' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPView))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pView <- lift $ peek @ImageView pPView   pure $ (pView)@@ -236,7 +237,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyImageView' (deviceHandle (device)) (imageView) pAllocator+  lift $ traceAroundEvent "vkDestroyImageView" (vkDestroyImageView' (deviceHandle (device)) (imageView) pAllocator)   pure $ ()  
src/Vulkan/Core10/LayerDiscovery.hs view
@@ -6,6 +6,7 @@                                      ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -129,12 +130,12 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkEnumerateInstanceLayerProperties is null" Nothing Nothing   let vkEnumerateInstanceLayerProperties' = mkVkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerPropertiesPtr   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumerateInstanceLayerProperties' (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkEnumerateInstanceLayerProperties" (vkEnumerateInstanceLayerProperties' (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @LayerProperties ((fromIntegral (pPropertyCount)) * 520)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 520) :: Ptr LayerProperties) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkEnumerateInstanceLayerProperties' (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkEnumerateInstanceLayerProperties" (vkEnumerateInstanceLayerProperties' (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @LayerProperties (((pPProperties) `advancePtrBytes` (520 * (i)) :: Ptr LayerProperties)))@@ -214,12 +215,12 @@   let vkEnumerateDeviceLayerProperties' = mkVkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerPropertiesPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumerateDeviceLayerProperties' physicalDevice' (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkEnumerateDeviceLayerProperties" (vkEnumerateDeviceLayerProperties' physicalDevice' (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @LayerProperties ((fromIntegral (pPropertyCount)) * 520)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 520) :: Ptr LayerProperties) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkEnumerateDeviceLayerProperties' physicalDevice' (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkEnumerateDeviceLayerProperties" (vkEnumerateDeviceLayerProperties' physicalDevice' (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @LayerProperties (((pPProperties) `advancePtrBytes` (520 * (i)) :: Ptr LayerProperties)))
src/Vulkan/Core10/Memory.hs view
@@ -14,6 +14,7 @@                              , MemoryMapFlags(..)                              ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -254,7 +255,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPMemory <- ContT $ bracket (callocBytes @DeviceMemory 8) free-  r <- lift $ vkAllocateMemory' (deviceHandle (device)) (forgetExtensions pAllocateInfo) pAllocator (pPMemory)+  r <- lift $ traceAroundEvent "vkAllocateMemory" (vkAllocateMemory' (deviceHandle (device)) (forgetExtensions pAllocateInfo) pAllocator (pPMemory))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pMemory <- lift $ peek @DeviceMemory pPMemory   pure $ (pMemory)@@ -359,7 +360,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkFreeMemory' (deviceHandle (device)) (memory) pAllocator+  lift $ traceAroundEvent "vkFreeMemory" (vkFreeMemory' (deviceHandle (device)) (memory) pAllocator)   pure $ ()  @@ -505,7 +506,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkMapMemory is null" Nothing Nothing   let vkMapMemory' = mkVkMapMemory vkMapMemoryPtr   pPpData <- ContT $ bracket (callocBytes @(Ptr ()) 8) free-  r <- lift $ vkMapMemory' (deviceHandle (device)) (memory) (offset) (size) (flags) (pPpData)+  r <- lift $ traceAroundEvent "vkMapMemory" (vkMapMemory' (deviceHandle (device)) (memory) (offset) (size) (flags) (pPpData))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   ppData <- lift $ peek @(Ptr ()) pPpData   pure $ (ppData)@@ -568,7 +569,7 @@   unless (vkUnmapMemoryPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkUnmapMemory is null" Nothing Nothing   let vkUnmapMemory' = mkVkUnmapMemory vkUnmapMemoryPtr-  vkUnmapMemory' (deviceHandle (device)) (memory)+  traceAroundEvent "vkUnmapMemory" (vkUnmapMemory' (deviceHandle (device)) (memory))   pure $ ()  @@ -648,7 +649,7 @@   let vkFlushMappedMemoryRanges' = mkVkFlushMappedMemoryRanges vkFlushMappedMemoryRangesPtr   pPMemoryRanges <- ContT $ allocaBytesAligned @MappedMemoryRange ((Data.Vector.length (memoryRanges)) * 40) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPMemoryRanges `plusPtr` (40 * (i)) :: Ptr MappedMemoryRange) (e)) (memoryRanges)-  r <- lift $ vkFlushMappedMemoryRanges' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (memoryRanges)) :: Word32)) (pPMemoryRanges)+  r <- lift $ traceAroundEvent "vkFlushMappedMemoryRanges" (vkFlushMappedMemoryRanges' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (memoryRanges)) :: Word32)) (pPMemoryRanges))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -720,7 +721,7 @@   let vkInvalidateMappedMemoryRanges' = mkVkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRangesPtr   pPMemoryRanges <- ContT $ allocaBytesAligned @MappedMemoryRange ((Data.Vector.length (memoryRanges)) * 40) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPMemoryRanges `plusPtr` (40 * (i)) :: Ptr MappedMemoryRange) (e)) (memoryRanges)-  r <- lift $ vkInvalidateMappedMemoryRanges' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (memoryRanges)) :: Word32)) (pPMemoryRanges)+  r <- lift $ traceAroundEvent "vkInvalidateMappedMemoryRanges" (vkInvalidateMappedMemoryRanges' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (memoryRanges)) :: Word32)) (pPMemoryRanges))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -775,7 +776,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceMemoryCommitment is null" Nothing Nothing   let vkGetDeviceMemoryCommitment' = mkVkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitmentPtr   pPCommittedMemoryInBytes <- ContT $ bracket (callocBytes @DeviceSize 8) free-  lift $ vkGetDeviceMemoryCommitment' (deviceHandle (device)) (memory) (pPCommittedMemoryInBytes)+  lift $ traceAroundEvent "vkGetDeviceMemoryCommitment" (vkGetDeviceMemoryCommitment' (deviceHandle (device)) (memory) (pPCommittedMemoryInBytes))   pCommittedMemoryInBytes <- lift $ peek @DeviceSize pPCommittedMemoryInBytes   pure $ (pCommittedMemoryInBytes) 
src/Vulkan/Core10/MemoryManagement.hs view
@@ -8,6 +8,7 @@                                        , DeviceMemory(..)                                        ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -94,7 +95,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetBufferMemoryRequirements is null" Nothing Nothing   let vkGetBufferMemoryRequirements' = mkVkGetBufferMemoryRequirements vkGetBufferMemoryRequirementsPtr   pPMemoryRequirements <- ContT (withZeroCStruct @MemoryRequirements)-  lift $ vkGetBufferMemoryRequirements' (deviceHandle (device)) (buffer) (pPMemoryRequirements)+  lift $ traceAroundEvent "vkGetBufferMemoryRequirements" (vkGetBufferMemoryRequirements' (deviceHandle (device)) (buffer) (pPMemoryRequirements))   pMemoryRequirements <- lift $ peekCStruct @MemoryRequirements pPMemoryRequirements   pure $ (pMemoryRequirements) @@ -272,7 +273,7 @@   unless (vkBindBufferMemoryPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkBindBufferMemory is null" Nothing Nothing   let vkBindBufferMemory' = mkVkBindBufferMemory vkBindBufferMemoryPtr-  r <- vkBindBufferMemory' (deviceHandle (device)) (buffer) (memory) (memoryOffset)+  r <- traceAroundEvent "vkBindBufferMemory" (vkBindBufferMemory' (deviceHandle (device)) (buffer) (memory) (memoryOffset))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -330,7 +331,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetImageMemoryRequirements is null" Nothing Nothing   let vkGetImageMemoryRequirements' = mkVkGetImageMemoryRequirements vkGetImageMemoryRequirementsPtr   pPMemoryRequirements <- ContT (withZeroCStruct @MemoryRequirements)-  lift $ vkGetImageMemoryRequirements' (deviceHandle (device)) (image) (pPMemoryRequirements)+  lift $ traceAroundEvent "vkGetImageMemoryRequirements" (vkGetImageMemoryRequirements' (deviceHandle (device)) (image) (pPMemoryRequirements))   pMemoryRequirements <- lift $ peekCStruct @MemoryRequirements pPMemoryRequirements   pure $ (pMemoryRequirements) @@ -525,7 +526,7 @@   unless (vkBindImageMemoryPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkBindImageMemory is null" Nothing Nothing   let vkBindImageMemory' = mkVkBindImageMemory vkBindImageMemoryPtr-  r <- vkBindImageMemory' (deviceHandle (device)) (image) (memory) (memoryOffset)+  r <- traceAroundEvent "vkBindImageMemory" (vkBindImageMemory' (deviceHandle (device)) (image) (memory) (memoryOffset))   when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Core10/Pass.hs view
@@ -32,6 +32,7 @@                            , FramebufferCreateFlags                            ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -214,7 +215,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPFramebuffer <- ContT $ bracket (callocBytes @Framebuffer 8) free-  r <- lift $ vkCreateFramebuffer' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPFramebuffer)+  r <- lift $ traceAroundEvent "vkCreateFramebuffer" (vkCreateFramebuffer' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPFramebuffer))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFramebuffer <- lift $ peek @Framebuffer pPFramebuffer   pure $ (pFramebuffer)@@ -301,7 +302,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyFramebuffer' (deviceHandle (device)) (framebuffer) pAllocator+  lift $ traceAroundEvent "vkDestroyFramebuffer" (vkDestroyFramebuffer' (deviceHandle (device)) (framebuffer) pAllocator)   pure $ ()  @@ -368,7 +369,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPRenderPass <- ContT $ bracket (callocBytes @RenderPass 8) free-  r <- lift $ vkCreateRenderPass' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPRenderPass)+  r <- lift $ traceAroundEvent "vkCreateRenderPass" (vkCreateRenderPass' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPRenderPass))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pRenderPass <- lift $ peek @RenderPass pPRenderPass   pure $ (pRenderPass)@@ -455,7 +456,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyRenderPass' (deviceHandle (device)) (renderPass) pAllocator+  lift $ traceAroundEvent "vkDestroyRenderPass" (vkDestroyRenderPass' (deviceHandle (device)) (renderPass) pAllocator)   pure $ ()  @@ -531,7 +532,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetRenderAreaGranularity is null" Nothing Nothing   let vkGetRenderAreaGranularity' = mkVkGetRenderAreaGranularity vkGetRenderAreaGranularityPtr   pPGranularity <- ContT (withZeroCStruct @Extent2D)-  lift $ vkGetRenderAreaGranularity' (deviceHandle (device)) (renderPass) (pPGranularity)+  lift $ traceAroundEvent "vkGetRenderAreaGranularity" (vkGetRenderAreaGranularity' (deviceHandle (device)) (renderPass) (pPGranularity))   pGranularity <- lift $ peekCStruct @Extent2D pPGranularity   pure $ (pGranularity) 
src/Vulkan/Core10/Pipeline.hs view
@@ -59,6 +59,7 @@                                ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -375,7 +376,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPPipelines <- ContT $ bracket (callocBytes @Pipeline ((fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) * 8)) free-  r <- lift $ vkCreateGraphicsPipelines' (deviceHandle (device)) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines)+  r <- lift $ traceAroundEvent "vkCreateGraphicsPipelines" (vkCreateGraphicsPipelines' (deviceHandle (device)) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPipelines <- lift $ generateM (fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) (\i -> peek @Pipeline ((pPPipelines `advancePtrBytes` (8 * (i)) :: Ptr Pipeline)))   pure $ (r, pPipelines)@@ -504,7 +505,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPPipelines <- ContT $ bracket (callocBytes @Pipeline ((fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) * 8)) free-  r <- lift $ vkCreateComputePipelines' (deviceHandle (device)) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines)+  r <- lift $ traceAroundEvent "vkCreateComputePipelines" (vkCreateComputePipelines' (deviceHandle (device)) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPipelines <- lift $ generateM (fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) (\i -> peek @Pipeline ((pPPipelines `advancePtrBytes` (8 * (i)) :: Ptr Pipeline)))   pure $ (r, pPipelines)@@ -590,7 +591,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyPipeline' (deviceHandle (device)) (pipeline) pAllocator+  lift $ traceAroundEvent "vkDestroyPipeline" (vkDestroyPipeline' (deviceHandle (device)) (pipeline) pAllocator)   pure $ ()  
src/Vulkan/Core10/PipelineCache.hs view
@@ -11,6 +11,7 @@                                     , PipelineCacheCreateFlags                                     ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -175,7 +176,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPPipelineCache <- ContT $ bracket (callocBytes @PipelineCache 8) free-  r <- lift $ vkCreatePipelineCache' (deviceHandle (device)) pCreateInfo pAllocator (pPPipelineCache)+  r <- lift $ traceAroundEvent "vkCreatePipelineCache" (vkCreatePipelineCache' (deviceHandle (device)) pCreateInfo pAllocator (pPPipelineCache))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPipelineCache <- lift $ peek @PipelineCache pPPipelineCache   pure $ (pPipelineCache)@@ -260,7 +261,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyPipelineCache' (deviceHandle (device)) (pipelineCache) pAllocator+  lift $ traceAroundEvent "vkDestroyPipelineCache" (vkDestroyPipelineCache' (deviceHandle (device)) (pipelineCache) pAllocator)   pure $ ()  @@ -389,11 +390,11 @@   let vkGetPipelineCacheData' = mkVkGetPipelineCacheData vkGetPipelineCacheDataPtr   let device' = deviceHandle (device)   pPDataSize <- ContT $ bracket (callocBytes @CSize 8) free-  r <- lift $ vkGetPipelineCacheData' device' (pipelineCache) (pPDataSize) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPipelineCacheData" (vkGetPipelineCacheData' device' (pipelineCache) (pPDataSize) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDataSize <- lift $ peek @CSize pPDataSize   pPData <- ContT $ bracket (callocBytes @(()) (fromIntegral (((\(CSize a) -> a) pDataSize)))) free-  r' <- lift $ vkGetPipelineCacheData' device' (pipelineCache) (pPDataSize) (pPData)+  r' <- lift $ traceAroundEvent "vkGetPipelineCacheData" (vkGetPipelineCacheData' device' (pipelineCache) (pPDataSize) (pPData))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pDataSize'' <- lift $ peek @CSize pPDataSize   pData' <- lift $ packCStringLen  (castPtr @() @CChar pPData, (fromIntegral (((\(CSize a) -> a) pDataSize''))))@@ -481,7 +482,7 @@   let vkMergePipelineCaches' = mkVkMergePipelineCaches vkMergePipelineCachesPtr   pPSrcCaches <- ContT $ allocaBytesAligned @PipelineCache ((Data.Vector.length (srcCaches)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPSrcCaches `plusPtr` (8 * (i)) :: Ptr PipelineCache) (e)) (srcCaches)-  r <- lift $ vkMergePipelineCaches' (deviceHandle (device)) (dstCache) ((fromIntegral (Data.Vector.length $ (srcCaches)) :: Word32)) (pPSrcCaches)+  r <- lift $ traceAroundEvent "vkMergePipelineCaches" (vkMergePipelineCaches' (deviceHandle (device)) (dstCache) ((fromIntegral (Data.Vector.length $ (srcCaches)) :: Word32)) (pPSrcCaches))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Core10/PipelineLayout.hs view
@@ -8,6 +8,7 @@                                      , PipelineLayout(..)                                      ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -129,7 +130,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPPipelineLayout <- ContT $ bracket (callocBytes @PipelineLayout 8) free-  r <- lift $ vkCreatePipelineLayout' (deviceHandle (device)) pCreateInfo pAllocator (pPPipelineLayout)+  r <- lift $ traceAroundEvent "vkCreatePipelineLayout" (vkCreatePipelineLayout' (deviceHandle (device)) pCreateInfo pAllocator (pPPipelineLayout))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPipelineLayout <- lift $ peek @PipelineLayout pPPipelineLayout   pure $ (pPipelineLayout)@@ -220,7 +221,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyPipelineLayout' (deviceHandle (device)) (pipelineLayout) pAllocator+  lift $ traceAroundEvent "vkDestroyPipelineLayout" (vkDestroyPipelineLayout' (deviceHandle (device)) (pipelineLayout) pAllocator)   pure $ ()  @@ -663,6 +664,11 @@ --     across all shader stages and across all elements of @pSetLayouts@ --     /must/ be less than or equal to --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxDescriptorSetSubsampledSamplers ::maxDescriptorSetSubsampledSamplers>+--+-- -   #VUID-VkPipelineLayoutCreateInfo-pSetLayouts-04606# Any element of+--     @pSetLayouts@ /must/ not have been created with the+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+--     bit set -- -- == Valid Usage (Implicit) --
src/Vulkan/Core10/Query.hs view
@@ -14,6 +14,7 @@                             , QueryPipelineStatisticFlags                             ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -155,7 +156,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPQueryPool <- ContT $ bracket (callocBytes @QueryPool 8) free-  r <- lift $ vkCreateQueryPool' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPQueryPool)+  r <- lift $ traceAroundEvent "vkCreateQueryPool" (vkCreateQueryPool' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPQueryPool))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pQueryPool <- lift $ peek @QueryPool pPQueryPool   pure $ (pQueryPool)@@ -241,7 +242,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyQueryPool' (deviceHandle (device)) (queryPool) pAllocator+  lift $ traceAroundEvent "vkDestroyQueryPool" (vkDestroyQueryPool' (deviceHandle (device)) (queryPool) pAllocator)   pure $ ()  @@ -485,7 +486,7 @@   unless (vkGetQueryPoolResultsPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetQueryPoolResults is null" Nothing Nothing   let vkGetQueryPoolResults' = mkVkGetQueryPoolResults vkGetQueryPoolResultsPtr-  r <- vkGetQueryPoolResults' (deviceHandle (device)) (queryPool) (firstQuery) (queryCount) (CSize (dataSize)) (data') (stride) (flags)+  r <- traceAroundEvent "vkGetQueryPoolResults" (vkGetQueryPoolResults' (deviceHandle (device)) (queryPool) (firstQuery) (queryCount) (CSize (dataSize)) (data') (stride) (flags))   when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) 
src/Vulkan/Core10/Queue.hs view
@@ -12,6 +12,7 @@                             , PipelineStageFlags                             ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -155,7 +156,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceQueue is null" Nothing Nothing   let vkGetDeviceQueue' = mkVkGetDeviceQueue vkGetDeviceQueuePtr   pPQueue <- ContT $ bracket (callocBytes @(Ptr Queue_T) 8) free-  lift $ vkGetDeviceQueue' (deviceHandle (device)) (queueFamilyIndex) (queueIndex) (pPQueue)+  lift $ traceAroundEvent "vkGetDeviceQueue" (vkGetDeviceQueue' (deviceHandle (device)) (queueFamilyIndex) (queueIndex) (pPQueue))   pQueue <- lift $ peek @(Ptr Queue_T) pPQueue   pure $ (((\h -> Queue h cmds ) pQueue)) @@ -405,7 +406,7 @@   let vkQueueSubmit' = mkVkQueueSubmit vkQueueSubmitPtr   pPSubmits <- ContT $ allocaBytesAligned @(SubmitInfo _) ((Data.Vector.length (submits)) * 72) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPSubmits `plusPtr` (72 * (i)) :: Ptr (SubmitInfo _))) (e) . ($ ())) (submits)-  r <- lift $ vkQueueSubmit' (queueHandle (queue)) ((fromIntegral (Data.Vector.length $ (submits)) :: Word32)) (forgetExtensions (pPSubmits)) (fence)+  r <- lift $ traceAroundEvent "vkQueueSubmit" (vkQueueSubmit' (queueHandle (queue)) ((fromIntegral (Data.Vector.length $ (submits)) :: Word32)) (forgetExtensions (pPSubmits)) (fence))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -433,7 +434,7 @@   unless (vkQueueWaitIdlePtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkQueueWaitIdle is null" Nothing Nothing   let vkQueueWaitIdle' = mkVkQueueWaitIdle vkQueueWaitIdlePtr-  r <- vkQueueWaitIdle' (queueHandle (queue))+  r <- traceAroundEvent "vkQueueWaitIdle" (vkQueueWaitIdle' (queueHandle (queue)))   when (r < SUCCESS) (throwIO (VulkanException r))  -- | vkQueueWaitIdle - Wait for a queue to become idle@@ -519,7 +520,7 @@   unless (vkDeviceWaitIdlePtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkDeviceWaitIdle is null" Nothing Nothing   let vkDeviceWaitIdle' = mkVkDeviceWaitIdle vkDeviceWaitIdlePtr-  r <- vkDeviceWaitIdle' (deviceHandle (device))+  r <- traceAroundEvent "vkDeviceWaitIdle" (vkDeviceWaitIdle' (deviceHandle (device)))   when (r < SUCCESS) (throwIO (VulkanException r))  -- | vkDeviceWaitIdle - Wait for a device to become idle
src/Vulkan/Core10/QueueSemaphore.hs view
@@ -8,6 +8,7 @@                                      , SemaphoreCreateFlags(..)                                      ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -134,7 +135,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSemaphore <- ContT $ bracket (callocBytes @Semaphore 8) free-  r <- lift $ vkCreateSemaphore' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSemaphore)+  r <- lift $ traceAroundEvent "vkCreateSemaphore" (vkCreateSemaphore' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSemaphore))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSemaphore <- lift $ peek @Semaphore pPSemaphore   pure $ (pSemaphore)@@ -220,7 +221,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroySemaphore' (deviceHandle (device)) (semaphore) pAllocator+  lift $ traceAroundEvent "vkDestroySemaphore" (vkDestroySemaphore' (deviceHandle (device)) (semaphore) pAllocator)   pure $ ()  
src/Vulkan/Core10/Sampler.hs view
@@ -13,6 +13,7 @@                               , SamplerCreateFlags                               ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -161,7 +162,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSampler <- ContT $ bracket (callocBytes @Sampler 8) free-  r <- lift $ vkCreateSampler' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSampler)+  r <- lift $ traceAroundEvent "vkCreateSampler" (vkCreateSampler' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSampler))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSampler <- lift $ peek @Sampler pPSampler   pure $ (pSampler)@@ -247,7 +248,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroySampler' (deviceHandle (device)) (sampler) pAllocator+  lift $ traceAroundEvent "vkDestroySampler" (vkDestroySampler' (deviceHandle (device)) (sampler) pAllocator)   pure $ ()  
src/Vulkan/Core10/Shader.hs view
@@ -9,6 +9,7 @@                              , ShaderModuleCreateFlags                              ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -161,7 +162,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPShaderModule <- ContT $ bracket (callocBytes @ShaderModule 8) free-  r <- lift $ vkCreateShaderModule' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPShaderModule)+  r <- lift $ traceAroundEvent "vkCreateShaderModule" (vkCreateShaderModule' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPShaderModule))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pShaderModule <- lift $ peek @ShaderModule pPShaderModule   pure $ (pShaderModule)@@ -251,7 +252,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyShaderModule' (deviceHandle (device)) (shaderModule) pAllocator+  lift $ traceAroundEvent "vkDestroyShaderModule" (vkDestroyShaderModule' (deviceHandle (device)) (shaderModule) pAllocator)   pure $ ()  
src/Vulkan/Core10/SparseResourceMemoryManagement.hs view
@@ -20,6 +20,7 @@                                                      , SparseMemoryBindFlags                                                      ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -200,11 +201,11 @@   let vkGetImageSparseMemoryRequirements' = mkVkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirementsPtr   let device' = deviceHandle (device)   pPSparseMemoryRequirementCount <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetImageSparseMemoryRequirements' device' (image) (pPSparseMemoryRequirementCount) (nullPtr)+  lift $ traceAroundEvent "vkGetImageSparseMemoryRequirements" (vkGetImageSparseMemoryRequirements' device' (image) (pPSparseMemoryRequirementCount) (nullPtr))   pSparseMemoryRequirementCount <- lift $ peek @Word32 pPSparseMemoryRequirementCount   pPSparseMemoryRequirements <- ContT $ bracket (callocBytes @SparseImageMemoryRequirements ((fromIntegral (pSparseMemoryRequirementCount)) * 48)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPSparseMemoryRequirements `advancePtrBytes` (i * 48) :: Ptr SparseImageMemoryRequirements) . ($ ())) [0..(fromIntegral (pSparseMemoryRequirementCount)) - 1]-  lift $ vkGetImageSparseMemoryRequirements' device' (image) (pPSparseMemoryRequirementCount) ((pPSparseMemoryRequirements))+  lift $ traceAroundEvent "vkGetImageSparseMemoryRequirements" (vkGetImageSparseMemoryRequirements' device' (image) (pPSparseMemoryRequirementCount) ((pPSparseMemoryRequirements)))   pSparseMemoryRequirementCount' <- lift $ peek @Word32 pPSparseMemoryRequirementCount   pSparseMemoryRequirements' <- lift $ generateM (fromIntegral (pSparseMemoryRequirementCount')) (\i -> peekCStruct @SparseImageMemoryRequirements (((pPSparseMemoryRequirements) `advancePtrBytes` (48 * (i)) :: Ptr SparseImageMemoryRequirements)))   pure $ (pSparseMemoryRequirements')@@ -327,11 +328,11 @@   let vkGetPhysicalDeviceSparseImageFormatProperties' = mkVkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatPropertiesPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetPhysicalDeviceSparseImageFormatProperties' physicalDevice' (format) (type') (samples) (usage) (tiling) (pPPropertyCount) (nullPtr)+  lift $ traceAroundEvent "vkGetPhysicalDeviceSparseImageFormatProperties" (vkGetPhysicalDeviceSparseImageFormatProperties' physicalDevice' (format) (type') (samples) (usage) (tiling) (pPPropertyCount) (nullPtr))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @SparseImageFormatProperties ((fromIntegral (pPropertyCount)) * 20)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 20) :: Ptr SparseImageFormatProperties) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  lift $ vkGetPhysicalDeviceSparseImageFormatProperties' physicalDevice' (format) (type') (samples) (usage) (tiling) (pPPropertyCount) ((pPProperties))+  lift $ traceAroundEvent "vkGetPhysicalDeviceSparseImageFormatProperties" (vkGetPhysicalDeviceSparseImageFormatProperties' physicalDevice' (format) (type') (samples) (usage) (tiling) (pPPropertyCount) ((pPProperties)))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @SparseImageFormatProperties (((pPProperties) `advancePtrBytes` (20 * (i)) :: Ptr SparseImageFormatProperties)))   pure $ (pProperties')@@ -490,7 +491,7 @@   let vkQueueBindSparse' = mkVkQueueBindSparse vkQueueBindSparsePtr   pPBindInfo <- ContT $ allocaBytesAligned @(BindSparseInfo _) ((Data.Vector.length (bindInfo)) * 96) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPBindInfo `plusPtr` (96 * (i)) :: Ptr (BindSparseInfo _))) (e) . ($ ())) (bindInfo)-  r <- lift $ vkQueueBindSparse' (queueHandle (queue)) ((fromIntegral (Data.Vector.length $ (bindInfo)) :: Word32)) (forgetExtensions (pPBindInfo)) (fence)+  r <- lift $ traceAroundEvent "vkQueueBindSparse" (vkQueueBindSparse' (queueHandle (queue)) ((fromIntegral (Data.Vector.length $ (bindInfo)) :: Word32)) (forgetExtensions (pPBindInfo)) (fence))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Core11/DeviceInitialization.hs view
@@ -2,6 +2,7 @@ -- No documentation found for Chapter "DeviceInitialization" module Vulkan.Core11.DeviceInitialization  (enumerateInstanceVersion) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -72,7 +73,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkEnumerateInstanceVersion is null" Nothing Nothing   let vkEnumerateInstanceVersion' = mkVkEnumerateInstanceVersion vkEnumerateInstanceVersionPtr   pPApiVersion <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumerateInstanceVersion' (pPApiVersion)+  r <- lift $ traceAroundEvent "vkEnumerateInstanceVersion" (vkEnumerateInstanceVersion' (pPApiVersion))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pApiVersion <- lift $ peek @Word32 pPApiVersion   pure $ (pApiVersion)
src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs view
@@ -20,6 +20,7 @@                                                                   , CommandPoolCreateFlags                                                                   ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -117,7 +118,7 @@   let vkGetDeviceQueue2' = mkVkGetDeviceQueue2 vkGetDeviceQueue2Ptr   pQueueInfo <- ContT $ withCStruct (queueInfo)   pPQueue <- ContT $ bracket (callocBytes @(Ptr Queue_T) 8) free-  lift $ vkGetDeviceQueue2' (deviceHandle (device)) pQueueInfo (pPQueue)+  lift $ traceAroundEvent "vkGetDeviceQueue2" (vkGetDeviceQueue2' (deviceHandle (device)) pQueueInfo (pPQueue))   pQueue <- lift $ peek @(Ptr Queue_T) pPQueue   pure $ (((\h -> Queue h cmds ) pQueue)) 
src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs view
@@ -9,6 +9,7 @@                                                         , ImageCreateFlags                                                         ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Data.Typeable (eqT)@@ -129,7 +130,7 @@   let vkBindBufferMemory2' = mkVkBindBufferMemory2 vkBindBufferMemory2Ptr   pPBindInfos <- ContT $ allocaBytesAligned @(BindBufferMemoryInfo _) ((Data.Vector.length (bindInfos)) * 40) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPBindInfos `plusPtr` (40 * (i)) :: Ptr (BindBufferMemoryInfo _))) (e) . ($ ())) (bindInfos)-  r <- lift $ vkBindBufferMemory2' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (bindInfos)) :: Word32)) (forgetExtensions (pPBindInfos))+  r <- lift $ traceAroundEvent "vkBindBufferMemory2" (vkBindBufferMemory2' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (bindInfos)) :: Word32)) (forgetExtensions (pPBindInfos)))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -200,7 +201,7 @@   let vkBindImageMemory2' = mkVkBindImageMemory2 vkBindImageMemory2Ptr   pPBindInfos <- ContT $ allocaBytesAligned @(BindImageMemoryInfo _) ((Data.Vector.length (bindInfos)) * 40) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPBindInfos `plusPtr` (40 * (i)) :: Ptr (BindImageMemoryInfo _))) (e) . ($ ())) (bindInfos)-  r <- lift $ vkBindImageMemory2' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (bindInfos)) :: Word32)) (forgetExtensions (pPBindInfos))+  r <- lift $ traceAroundEvent "vkBindImageMemory2" (vkBindImageMemory2' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (bindInfos)) :: Word32)) (forgetExtensions (pPBindInfos)))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs view
@@ -13,6 +13,7 @@                                                                       , ObjectType(..)                                                                       ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -153,7 +154,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPDescriptorUpdateTemplate <- ContT $ bracket (callocBytes @DescriptorUpdateTemplate 8) free-  r <- lift $ vkCreateDescriptorUpdateTemplate' (deviceHandle (device)) pCreateInfo pAllocator (pPDescriptorUpdateTemplate)+  r <- lift $ traceAroundEvent "vkCreateDescriptorUpdateTemplate" (vkCreateDescriptorUpdateTemplate' (deviceHandle (device)) pCreateInfo pAllocator (pPDescriptorUpdateTemplate))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDescriptorUpdateTemplate <- lift $ peek @DescriptorUpdateTemplate pPDescriptorUpdateTemplate   pure $ (pDescriptorUpdateTemplate)@@ -244,7 +245,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyDescriptorUpdateTemplate' (deviceHandle (device)) (descriptorUpdateTemplate) pAllocator+  lift $ traceAroundEvent "vkDestroyDescriptorUpdateTemplate" (vkDestroyDescriptorUpdateTemplate' (deviceHandle (device)) (descriptorUpdateTemplate) pAllocator)   pure $ ()  @@ -396,7 +397,7 @@   unless (vkUpdateDescriptorSetWithTemplatePtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkUpdateDescriptorSetWithTemplate is null" Nothing Nothing   let vkUpdateDescriptorSetWithTemplate' = mkVkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplatePtr-  vkUpdateDescriptorSetWithTemplate' (deviceHandle (device)) (descriptorSet) (descriptorUpdateTemplate) (data')+  traceAroundEvent "vkUpdateDescriptorSetWithTemplate" (vkUpdateDescriptorSetWithTemplate' (deviceHandle (device)) (descriptorSet) (descriptorUpdateTemplate) (data'))   pure $ ()  @@ -564,6 +565,12 @@ --     @set@ /must/ be the unique set number in the pipeline layout that --     uses a descriptor set layout that was created with --     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR'+--+-- -   #VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-04615# If+--     @templateType@ is+--     'Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET',+--     @descriptorSetLayout@ /must/ not contain a binding with type+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE' -- -- == Valid Usage (Implicit) --
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -20,6 +20,7 @@                                                         , MemoryAllocateFlags                                                         ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -138,7 +139,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceGroupPeerMemoryFeatures is null" Nothing Nothing   let vkGetDeviceGroupPeerMemoryFeatures' = mkVkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeaturesPtr   pPPeerMemoryFeatures <- ContT $ bracket (callocBytes @PeerMemoryFeatureFlags 4) free-  lift $ vkGetDeviceGroupPeerMemoryFeatures' (deviceHandle (device)) (heapIndex) (localDeviceIndex) (remoteDeviceIndex) (pPPeerMemoryFeatures)+  lift $ traceAroundEvent "vkGetDeviceGroupPeerMemoryFeatures" (vkGetDeviceGroupPeerMemoryFeatures' (deviceHandle (device)) (heapIndex) (localDeviceIndex) (remoteDeviceIndex) (pPPeerMemoryFeatures))   pPeerMemoryFeatures <- lift $ peek @PeerMemoryFeatureFlags pPPeerMemoryFeatures   pure $ (pPeerMemoryFeatures) @@ -230,7 +231,7 @@   unless (vkCmdSetDeviceMaskPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDeviceMask is null" Nothing Nothing   let vkCmdSetDeviceMask' = mkVkCmdSetDeviceMask vkCmdSetDeviceMaskPtr-  vkCmdSetDeviceMask' (commandBufferHandle (commandBuffer)) (deviceMask)+  traceAroundEvent "vkCmdSetDeviceMask" (vkCmdSetDeviceMask' (commandBufferHandle (commandBuffer)) (deviceMask))   pure $ ()  @@ -557,7 +558,7 @@   unless (vkCmdDispatchBasePtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDispatchBase is null" Nothing Nothing   let vkCmdDispatchBase' = mkVkCmdDispatchBase vkCmdDispatchBasePtr-  vkCmdDispatchBase' (commandBufferHandle (commandBuffer)) (baseGroupX) (baseGroupY) (baseGroupZ) (groupCountX) (groupCountY) (groupCountZ)+  traceAroundEvent "vkCmdDispatchBase" (vkCmdDispatchBase' (commandBufferHandle (commandBuffer)) (baseGroupX) (baseGroupY) (baseGroupZ) (groupCountX) (groupCountY) (groupCountZ))   pure $ ()  
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group_creation.hs view
@@ -11,6 +11,7 @@                                                                  ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -147,12 +148,12 @@   let vkEnumeratePhysicalDeviceGroups' = mkVkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroupsPtr   let instance'' = instanceHandle (instance')   pPPhysicalDeviceGroupCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumeratePhysicalDeviceGroups' instance'' (pPPhysicalDeviceGroupCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkEnumeratePhysicalDeviceGroups" (vkEnumeratePhysicalDeviceGroups' instance'' (pPPhysicalDeviceGroupCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPhysicalDeviceGroupCount <- lift $ peek @Word32 pPPhysicalDeviceGroupCount   pPPhysicalDeviceGroupProperties <- ContT $ bracket (callocBytes @PhysicalDeviceGroupProperties ((fromIntegral (pPhysicalDeviceGroupCount)) * 288)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPPhysicalDeviceGroupProperties `advancePtrBytes` (i * 288) :: Ptr PhysicalDeviceGroupProperties) . ($ ())) [0..(fromIntegral (pPhysicalDeviceGroupCount)) - 1]-  r' <- lift $ vkEnumeratePhysicalDeviceGroups' instance'' (pPPhysicalDeviceGroupCount) ((pPPhysicalDeviceGroupProperties))+  r' <- lift $ traceAroundEvent "vkEnumeratePhysicalDeviceGroups" (vkEnumeratePhysicalDeviceGroups' instance'' (pPPhysicalDeviceGroupCount) ((pPPhysicalDeviceGroupProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPhysicalDeviceGroupCount' <- lift $ peek @Word32 pPPhysicalDeviceGroupCount   pPhysicalDeviceGroupProperties' <- lift $ generateM (fromIntegral (pPhysicalDeviceGroupCount')) (\i -> peekCStruct @PhysicalDeviceGroupProperties (((pPPhysicalDeviceGroupProperties) `advancePtrBytes` (288 * (i)) :: Ptr PhysicalDeviceGroupProperties)))
src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence_capabilities.hs view
@@ -10,6 +10,7 @@                                                                        , ExternalFenceFeatureFlags                                                                        ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -93,7 +94,7 @@   let vkGetPhysicalDeviceExternalFenceProperties' = mkVkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFencePropertiesPtr   pExternalFenceInfo <- ContT $ withCStruct (externalFenceInfo)   pPExternalFenceProperties <- ContT (withZeroCStruct @ExternalFenceProperties)-  lift $ vkGetPhysicalDeviceExternalFenceProperties' (physicalDeviceHandle (physicalDevice)) pExternalFenceInfo (pPExternalFenceProperties)+  lift $ traceAroundEvent "vkGetPhysicalDeviceExternalFenceProperties" (vkGetPhysicalDeviceExternalFenceProperties' (physicalDeviceHandle (physicalDevice)) pExternalFenceInfo (pPExternalFenceProperties))   pExternalFenceProperties <- lift $ peekCStruct @ExternalFenceProperties pPExternalFenceProperties   pure $ (pExternalFenceProperties) 
src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs view
@@ -17,6 +17,7 @@                                                                         ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -117,7 +118,7 @@   let vkGetPhysicalDeviceExternalBufferProperties' = mkVkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferPropertiesPtr   pExternalBufferInfo <- ContT $ withCStruct (externalBufferInfo)   pPExternalBufferProperties <- ContT (withZeroCStruct @ExternalBufferProperties)-  lift $ vkGetPhysicalDeviceExternalBufferProperties' (physicalDeviceHandle (physicalDevice)) pExternalBufferInfo (pPExternalBufferProperties)+  lift $ traceAroundEvent "vkGetPhysicalDeviceExternalBufferProperties" (vkGetPhysicalDeviceExternalBufferProperties' (physicalDeviceHandle (physicalDevice)) pExternalBufferInfo (pPExternalBufferProperties))   pExternalBufferProperties <- lift $ peekCStruct @ExternalBufferProperties pPExternalBufferProperties   pure $ (pExternalBufferProperties) 
src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore_capabilities.hs view
@@ -10,6 +10,7 @@                                                                            , ExternalSemaphoreFeatureFlags                                                                            ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Data.Typeable (eqT)@@ -108,7 +109,7 @@   let vkGetPhysicalDeviceExternalSemaphoreProperties' = mkVkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphorePropertiesPtr   pExternalSemaphoreInfo <- ContT $ withCStruct (externalSemaphoreInfo)   pPExternalSemaphoreProperties <- ContT (withZeroCStruct @ExternalSemaphoreProperties)-  lift $ vkGetPhysicalDeviceExternalSemaphoreProperties' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pExternalSemaphoreInfo) (pPExternalSemaphoreProperties)+  lift $ traceAroundEvent "vkGetPhysicalDeviceExternalSemaphoreProperties" (vkGetPhysicalDeviceExternalSemaphoreProperties' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pExternalSemaphoreInfo) (pPExternalSemaphoreProperties))   pExternalSemaphoreProperties <- lift $ peekCStruct @ExternalSemaphoreProperties pPExternalSemaphoreProperties   pure $ (pExternalSemaphoreProperties) 
src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs view
@@ -11,6 +11,7 @@                                                                     , StructureType(..)                                                                     ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -115,7 +116,7 @@   let vkGetBufferMemoryRequirements2' = mkVkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2Ptr   pInfo <- ContT $ withCStruct (info)   pPMemoryRequirements <- ContT (withZeroCStruct @(MemoryRequirements2 _))-  lift $ vkGetBufferMemoryRequirements2' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements))+  lift $ traceAroundEvent "vkGetBufferMemoryRequirements2" (vkGetBufferMemoryRequirements2' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements)))   pMemoryRequirements <- lift $ peekCStruct @(MemoryRequirements2 _) pPMemoryRequirements   pure $ (pMemoryRequirements) @@ -157,7 +158,7 @@   let vkGetImageMemoryRequirements2' = mkVkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2Ptr   pInfo <- ContT $ withCStruct (info)   pPMemoryRequirements <- ContT (withZeroCStruct @(MemoryRequirements2 _))-  lift $ vkGetImageMemoryRequirements2' (deviceHandle (device)) (forgetExtensions pInfo) (forgetExtensions (pPMemoryRequirements))+  lift $ traceAroundEvent "vkGetImageMemoryRequirements2" (vkGetImageMemoryRequirements2' (deviceHandle (device)) (forgetExtensions pInfo) (forgetExtensions (pPMemoryRequirements)))   pMemoryRequirements <- lift $ peekCStruct @(MemoryRequirements2 _) pPMemoryRequirements   pure $ (pMemoryRequirements) @@ -212,11 +213,11 @@   let device' = deviceHandle (device)   pInfo <- ContT $ withCStruct (info)   pPSparseMemoryRequirementCount <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetImageSparseMemoryRequirements2' device' pInfo (pPSparseMemoryRequirementCount) (nullPtr)+  lift $ traceAroundEvent "vkGetImageSparseMemoryRequirements2" (vkGetImageSparseMemoryRequirements2' device' pInfo (pPSparseMemoryRequirementCount) (nullPtr))   pSparseMemoryRequirementCount <- lift $ peek @Word32 pPSparseMemoryRequirementCount   pPSparseMemoryRequirements <- ContT $ bracket (callocBytes @SparseImageMemoryRequirements2 ((fromIntegral (pSparseMemoryRequirementCount)) * 64)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPSparseMemoryRequirements `advancePtrBytes` (i * 64) :: Ptr SparseImageMemoryRequirements2) . ($ ())) [0..(fromIntegral (pSparseMemoryRequirementCount)) - 1]-  lift $ vkGetImageSparseMemoryRequirements2' device' pInfo (pPSparseMemoryRequirementCount) ((pPSparseMemoryRequirements))+  lift $ traceAroundEvent "vkGetImageSparseMemoryRequirements2" (vkGetImageSparseMemoryRequirements2' device' pInfo (pPSparseMemoryRequirementCount) ((pPSparseMemoryRequirements)))   pSparseMemoryRequirementCount' <- lift $ peek @Word32 pPSparseMemoryRequirementCount   pSparseMemoryRequirements' <- lift $ generateM (fromIntegral (pSparseMemoryRequirementCount')) (\i -> peekCStruct @SparseImageMemoryRequirements2 (((pPSparseMemoryRequirements) `advancePtrBytes` (64 * (i)) :: Ptr SparseImageMemoryRequirements2)))   pure $ (pSparseMemoryRequirements')
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -19,6 +19,7 @@                                                                            , StructureType(..)                                                                            ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -152,6 +153,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_multiview_per_view_attributes (PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewProperties)+import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesVALVE) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pci_bus_info (PhysicalDevicePCIBusInfoPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR)@@ -279,7 +281,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceFeatures2 is null" Nothing Nothing   let vkGetPhysicalDeviceFeatures2' = mkVkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2Ptr   pPFeatures <- ContT (withZeroCStruct @(PhysicalDeviceFeatures2 _))-  lift $ vkGetPhysicalDeviceFeatures2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions (pPFeatures))+  lift $ traceAroundEvent "vkGetPhysicalDeviceFeatures2" (vkGetPhysicalDeviceFeatures2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions (pPFeatures)))   pFeatures <- lift $ peekCStruct @(PhysicalDeviceFeatures2 _) pPFeatures   pure $ (pFeatures) @@ -321,7 +323,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceProperties2 is null" Nothing Nothing   let vkGetPhysicalDeviceProperties2' = mkVkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2Ptr   pPProperties <- ContT (withZeroCStruct @(PhysicalDeviceProperties2 _))-  lift $ vkGetPhysicalDeviceProperties2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions (pPProperties))+  lift $ traceAroundEvent "vkGetPhysicalDeviceProperties2" (vkGetPhysicalDeviceProperties2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions (pPProperties)))   pProperties <- lift $ peekCStruct @(PhysicalDeviceProperties2 _) pPProperties   pure $ (pProperties) @@ -370,7 +372,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceFormatProperties2 is null" Nothing Nothing   let vkGetPhysicalDeviceFormatProperties2' = mkVkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2Ptr   pPFormatProperties <- ContT (withZeroCStruct @(FormatProperties2 _))-  lift $ vkGetPhysicalDeviceFormatProperties2' (physicalDeviceHandle (physicalDevice)) (format) (forgetExtensions (pPFormatProperties))+  lift $ traceAroundEvent "vkGetPhysicalDeviceFormatProperties2" (vkGetPhysicalDeviceFormatProperties2' (physicalDeviceHandle (physicalDevice)) (format) (forgetExtensions (pPFormatProperties)))   pFormatProperties <- lift $ peekCStruct @(FormatProperties2 _) pPFormatProperties   pure $ (pFormatProperties) @@ -451,7 +453,7 @@   let vkGetPhysicalDeviceImageFormatProperties2' = mkVkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2Ptr   pImageFormatInfo <- ContT $ withCStruct (imageFormatInfo)   pPImageFormatProperties <- ContT (withZeroCStruct @(ImageFormatProperties2 _))-  r <- lift $ vkGetPhysicalDeviceImageFormatProperties2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pImageFormatInfo) (forgetExtensions (pPImageFormatProperties))+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceImageFormatProperties2" (vkGetPhysicalDeviceImageFormatProperties2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pImageFormatInfo) (forgetExtensions (pPImageFormatProperties)))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pImageFormatProperties <- lift $ peekCStruct @(ImageFormatProperties2 _) pPImageFormatProperties   pure $ (pImageFormatProperties)@@ -506,11 +508,11 @@   let vkGetPhysicalDeviceQueueFamilyProperties2' = mkVkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2Ptr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPQueueFamilyPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetPhysicalDeviceQueueFamilyProperties2' physicalDevice' (pPQueueFamilyPropertyCount) (forgetExtensions (nullPtr))+  lift $ traceAroundEvent "vkGetPhysicalDeviceQueueFamilyProperties2" (vkGetPhysicalDeviceQueueFamilyProperties2' physicalDevice' (pPQueueFamilyPropertyCount) (forgetExtensions (nullPtr)))   pQueueFamilyPropertyCount <- lift $ peek @Word32 pPQueueFamilyPropertyCount   pPQueueFamilyProperties <- ContT $ bracket (callocBytes @(QueueFamilyProperties2 _) ((fromIntegral (pQueueFamilyPropertyCount)) * 40)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPQueueFamilyProperties `advancePtrBytes` (i * 40) :: Ptr (QueueFamilyProperties2 _)) . ($ ())) [0..(fromIntegral (pQueueFamilyPropertyCount)) - 1]-  lift $ vkGetPhysicalDeviceQueueFamilyProperties2' physicalDevice' (pPQueueFamilyPropertyCount) (forgetExtensions ((pPQueueFamilyProperties)))+  lift $ traceAroundEvent "vkGetPhysicalDeviceQueueFamilyProperties2" (vkGetPhysicalDeviceQueueFamilyProperties2' physicalDevice' (pPQueueFamilyPropertyCount) (forgetExtensions ((pPQueueFamilyProperties))))   pQueueFamilyPropertyCount' <- lift $ peek @Word32 pPQueueFamilyPropertyCount   pQueueFamilyProperties' <- lift $ generateM (fromIntegral (pQueueFamilyPropertyCount')) (\i -> peekCStruct @(QueueFamilyProperties2 _) (((pPQueueFamilyProperties) `advancePtrBytes` (40 * (i)) :: Ptr (QueueFamilyProperties2 _))))   pure $ (pQueueFamilyProperties')@@ -554,7 +556,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceMemoryProperties2 is null" Nothing Nothing   let vkGetPhysicalDeviceMemoryProperties2' = mkVkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2Ptr   pPMemoryProperties <- ContT (withZeroCStruct @(PhysicalDeviceMemoryProperties2 _))-  lift $ vkGetPhysicalDeviceMemoryProperties2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions (pPMemoryProperties))+  lift $ traceAroundEvent "vkGetPhysicalDeviceMemoryProperties2" (vkGetPhysicalDeviceMemoryProperties2' (physicalDeviceHandle (physicalDevice)) (forgetExtensions (pPMemoryProperties)))   pMemoryProperties <- lift $ peekCStruct @(PhysicalDeviceMemoryProperties2 _) pPMemoryProperties   pure $ (pMemoryProperties) @@ -616,11 +618,11 @@   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pFormatInfo <- ContT $ withCStruct (formatInfo)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetPhysicalDeviceSparseImageFormatProperties2' physicalDevice' pFormatInfo (pPPropertyCount) (nullPtr)+  lift $ traceAroundEvent "vkGetPhysicalDeviceSparseImageFormatProperties2" (vkGetPhysicalDeviceSparseImageFormatProperties2' physicalDevice' pFormatInfo (pPPropertyCount) (nullPtr))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @SparseImageFormatProperties2 ((fromIntegral (pPropertyCount)) * 40)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 40) :: Ptr SparseImageFormatProperties2) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  lift $ vkGetPhysicalDeviceSparseImageFormatProperties2' physicalDevice' pFormatInfo (pPPropertyCount) ((pPProperties))+  lift $ traceAroundEvent "vkGetPhysicalDeviceSparseImageFormatProperties2" (vkGetPhysicalDeviceSparseImageFormatProperties2' physicalDevice' pFormatInfo (pPPropertyCount) ((pPProperties)))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @SparseImageFormatProperties2 (((pPProperties) `advancePtrBytes` (40 * (i)) :: Ptr SparseImageFormatProperties2)))   pure $ (pProperties')@@ -670,6 +672,7 @@   getNext PhysicalDeviceFeatures2{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = Just f     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderTerminateInvocationFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateFeaturesKHR = Just f
src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance1.hs view
@@ -9,6 +9,7 @@                                                         , FormatFeatureFlags                                                         ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import GHC.IO (throwIO)@@ -118,6 +119,6 @@   unless (vkTrimCommandPoolPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkTrimCommandPool is null" Nothing Nothing   let vkTrimCommandPool' = mkVkTrimCommandPool vkTrimCommandPoolPtr-  vkTrimCommandPool' (deviceHandle (device)) (commandPool) (flags)+  traceAroundEvent "vkTrimCommandPool" (vkTrimCommandPool' (deviceHandle (device)) (commandPool) (flags))   pure $ () 
src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance3.hs view
@@ -6,6 +6,7 @@                                                         , StructureType(..)                                                         ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Data.Typeable (eqT)@@ -131,7 +132,7 @@   let vkGetDescriptorSetLayoutSupport' = mkVkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupportPtr   pCreateInfo <- ContT $ withCStruct (createInfo)   pPSupport <- ContT (withZeroCStruct @(DescriptorSetLayoutSupport _))-  lift $ vkGetDescriptorSetLayoutSupport' (deviceHandle (device)) (forgetExtensions pCreateInfo) (forgetExtensions (pPSupport))+  lift $ traceAroundEvent "vkGetDescriptorSetLayoutSupport" (vkGetDescriptorSetLayoutSupport' (deviceHandle (device)) (forgetExtensions pCreateInfo) (forgetExtensions (pPSupport)))   pSupport <- lift $ peekCStruct @(DescriptorSetLayoutSupport _) pPSupport   pure $ (pSupport) 
src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs view
@@ -24,6 +24,7 @@                                                                     , ChromaLocation(..)                                                                     ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -196,7 +197,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPYcbcrConversion <- ContT $ bracket (callocBytes @SamplerYcbcrConversion 8) free-  r <- lift $ vkCreateSamplerYcbcrConversion' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPYcbcrConversion)+  r <- lift $ traceAroundEvent "vkCreateSamplerYcbcrConversion" (vkCreateSamplerYcbcrConversion' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPYcbcrConversion))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pYcbcrConversion <- lift $ peek @SamplerYcbcrConversion pPYcbcrConversion   pure $ (pYcbcrConversion)@@ -271,7 +272,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroySamplerYcbcrConversion' (deviceHandle (device)) (ycbcrConversion) pAllocator+  lift $ traceAroundEvent "vkDestroySamplerYcbcrConversion" (vkDestroySamplerYcbcrConversion' (deviceHandle (device)) (ycbcrConversion) pAllocator)   pure $ ()  
src/Vulkan/Core12/Promoted_From_VK_EXT_host_query_reset.hs view
@@ -5,6 +5,7 @@                                                             , StructureType(..)                                                             ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -115,7 +116,7 @@   unless (vkResetQueryPoolPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkResetQueryPool is null" Nothing Nothing   let vkResetQueryPool' = mkVkResetQueryPool vkResetQueryPoolPtr-  vkResetQueryPool' (deviceHandle (device)) (queryPool) (firstQuery) (queryCount)+  traceAroundEvent "vkResetQueryPool" (vkResetQueryPool' (deviceHandle (device)) (queryPool) (firstQuery) (queryCount))   pure $ ()  
src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs view
@@ -18,6 +18,7 @@                                                                  , MemoryAllocateFlags                                                                  ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -128,7 +129,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetBufferOpaqueCaptureAddress is null" Nothing Nothing   let vkGetBufferOpaqueCaptureAddress' = mkVkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddressPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkGetBufferOpaqueCaptureAddress' (deviceHandle (device)) pInfo+  r <- lift $ traceAroundEvent "vkGetBufferOpaqueCaptureAddress" (vkGetBufferOpaqueCaptureAddress' (deviceHandle (device)) pInfo)   pure $ (r)  @@ -202,7 +203,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetBufferDeviceAddress is null" Nothing Nothing   let vkGetBufferDeviceAddress' = mkVkGetBufferDeviceAddress vkGetBufferDeviceAddressPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkGetBufferDeviceAddress' (deviceHandle (device)) pInfo+  r <- lift $ traceAroundEvent "vkGetBufferDeviceAddress" (vkGetBufferDeviceAddress' (deviceHandle (device)) pInfo)   pure $ (r)  @@ -268,7 +269,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceMemoryOpaqueCaptureAddress is null" Nothing Nothing   let vkGetDeviceMemoryOpaqueCaptureAddress' = mkVkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddressPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkGetDeviceMemoryOpaqueCaptureAddress' (deviceHandle (device)) pInfo+  r <- lift $ traceAroundEvent "vkGetDeviceMemoryOpaqueCaptureAddress" (vkGetDeviceMemoryOpaqueCaptureAddress' (deviceHandle (device)) pInfo)   pure $ (r)  
src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs view
@@ -15,6 +15,7 @@                                                               , StructureType(..)                                                               ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -190,7 +191,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPRenderPass <- ContT $ bracket (callocBytes @RenderPass 8) free-  r <- lift $ vkCreateRenderPass2' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPRenderPass)+  r <- lift $ traceAroundEvent "vkCreateRenderPass2" (vkCreateRenderPass2' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPRenderPass))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pRenderPass <- lift $ peek @RenderPass pPRenderPass   pure $ (pRenderPass)@@ -340,40 +341,6 @@ --     'Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT' --     set ----- -   #VUID-vkCmdBeginRenderPass2-pAttachments-04106# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pInputAttachments@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     contain at least---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'---     or---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'------ -   #VUID-vkCmdBeginRenderPass2-pAttachments-04107# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pColorAttachments@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     contain---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'------ -   #VUID-vkCmdBeginRenderPass2-pAttachments-04108# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pResolveAttachments@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     contain---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'------ -   #VUID-vkCmdBeginRenderPass2-pAttachments-04109# Each element of the---     @pAttachments@ of @framebuffer@ that is referenced by any element of---     the @pDepthStencilAttachment@ of any element of @pSubpasses@ of---     @renderPass@ /must/ have---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>---     contain---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'--- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBeginRenderPass2-commandBuffer-parameter# @commandBuffer@@@ -444,7 +411,7 @@   let vkCmdBeginRenderPass2' = mkVkCmdBeginRenderPass2 vkCmdBeginRenderPass2Ptr   pRenderPassBegin <- ContT $ withCStruct (renderPassBegin)   pSubpassBeginInfo <- ContT $ withCStruct (subpassBeginInfo)-  lift $ vkCmdBeginRenderPass2' (commandBufferHandle (commandBuffer)) (forgetExtensions pRenderPassBegin) pSubpassBeginInfo+  lift $ traceAroundEvent "vkCmdBeginRenderPass2" (vkCmdBeginRenderPass2' (commandBufferHandle (commandBuffer)) (forgetExtensions pRenderPassBegin) pSubpassBeginInfo)   pure $ ()  -- | This function will call the supplied action between calls to@@ -547,7 +514,7 @@   let vkCmdNextSubpass2' = mkVkCmdNextSubpass2 vkCmdNextSubpass2Ptr   pSubpassBeginInfo <- ContT $ withCStruct (subpassBeginInfo)   pSubpassEndInfo <- ContT $ withCStruct (subpassEndInfo)-  lift $ vkCmdNextSubpass2' (commandBufferHandle (commandBuffer)) pSubpassBeginInfo pSubpassEndInfo+  lift $ traceAroundEvent "vkCmdNextSubpass2" (vkCmdNextSubpass2' (commandBufferHandle (commandBuffer)) pSubpassBeginInfo pSubpassEndInfo)   pure $ ()  @@ -633,7 +600,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdEndRenderPass2 is null" Nothing Nothing   let vkCmdEndRenderPass2' = mkVkCmdEndRenderPass2 vkCmdEndRenderPass2Ptr   pSubpassEndInfo <- ContT $ withCStruct (subpassEndInfo)-  lift $ vkCmdEndRenderPass2' (commandBufferHandle (commandBuffer)) pSubpassEndInfo+  lift $ traceAroundEvent "vkCmdEndRenderPass2" (vkCmdEndRenderPass2' (commandBufferHandle (commandBuffer)) pSubpassEndInfo)   pure $ ()  
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -4,6 +4,7 @@                                                                , cmdDrawIndexedIndirectCount                                                                ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import GHC.IO (throwIO)@@ -586,7 +587,7 @@   unless (vkCmdDrawIndirectCountPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawIndirectCount is null" Nothing Nothing   let vkCmdDrawIndirectCount' = mkVkCmdDrawIndirectCount vkCmdDrawIndirectCountPtr-  vkCmdDrawIndirectCount' (commandBufferHandle (commandBuffer)) (buffer) (offset) (countBuffer) (countBufferOffset) (maxDrawCount) (stride)+  traceAroundEvent "vkCmdDrawIndirectCount" (vkCmdDrawIndirectCount' (commandBufferHandle (commandBuffer)) (buffer) (offset) (countBuffer) (countBufferOffset) (maxDrawCount) (stride))   pure $ ()  @@ -1161,6 +1162,6 @@   unless (vkCmdDrawIndexedIndirectCountPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawIndexedIndirectCount is null" Nothing Nothing   let vkCmdDrawIndexedIndirectCount' = mkVkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCountPtr-  vkCmdDrawIndexedIndirectCount' (commandBufferHandle (commandBuffer)) (buffer) (offset) (countBuffer) (countBufferOffset) (maxDrawCount) (stride)+  traceAroundEvent "vkCmdDrawIndexedIndirectCount" (vkCmdDrawIndexedIndirectCount' (commandBufferHandle (commandBuffer)) (buffer) (offset) (countBuffer) (countBufferOffset) (maxDrawCount) (stride))   pure $ () 
src/Vulkan/Core12/Promoted_From_VK_KHR_timeline_semaphore.hs view
@@ -16,6 +16,7 @@                                                               , SemaphoreWaitFlags                                                               ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -147,7 +148,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetSemaphoreCounterValue is null" Nothing Nothing   let vkGetSemaphoreCounterValue' = mkVkGetSemaphoreCounterValue vkGetSemaphoreCounterValuePtr   pPValue <- ContT $ bracket (callocBytes @Word64 8) free-  r <- lift $ vkGetSemaphoreCounterValue' (deviceHandle (device)) (semaphore) (pPValue)+  r <- lift $ traceAroundEvent "vkGetSemaphoreCounterValue" (vkGetSemaphoreCounterValue' (deviceHandle (device)) (semaphore) (pPValue))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pValue <- lift $ peek @Word64 pPValue   pure $ (pValue)@@ -192,7 +193,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkWaitSemaphores is null" Nothing Nothing   let vkWaitSemaphores' = mkVkWaitSemaphores vkWaitSemaphoresPtr   pWaitInfo <- ContT $ withCStruct (waitInfo)-  r <- lift $ vkWaitSemaphores' (deviceHandle (device)) pWaitInfo (timeout)+  r <- lift $ traceAroundEvent "vkWaitSemaphores" (vkWaitSemaphores' (deviceHandle (device)) pWaitInfo (timeout))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -343,7 +344,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSignalSemaphore is null" Nothing Nothing   let vkSignalSemaphore' = mkVkSignalSemaphore vkSignalSemaphorePtr   pSignalInfo <- ContT $ withCStruct (signalInfo)-  r <- lift $ vkSignalSemaphore' (deviceHandle (device)) pSignalInfo+  r <- lift $ traceAroundEvent "vkSignalSemaphore" (vkSignalSemaphore' (deviceHandle (device)) pSignalInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Dynamic.hs view
@@ -406,6 +406,8 @@   , pVkReleaseDisplayEXT :: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)   , pVkAcquireXlibDisplayEXT :: FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result)   , pVkGetRandROutputDisplayEXT :: FunPtr (Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> RROutput -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result)+  , pVkAcquireWinrtDisplayNV :: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result)+  , pVkGetWinrtDisplayNV :: FunPtr (Ptr PhysicalDevice_T -> ("deviceRelativeId" ::: Word32) -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result)   , pVkGetPhysicalDeviceSurfaceCapabilities2EXT :: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT) -> IO Result)   , pVkEnumeratePhysicalDeviceGroups :: FunPtr (Ptr Instance_T -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr PhysicalDeviceGroupProperties) -> IO Result)   , pVkGetPhysicalDevicePresentRectanglesKHR :: FunPtr (Ptr PhysicalDevice_T -> SurfaceKHR -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr Rect2D) -> IO Result)@@ -447,7 +449,7 @@     nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr     nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr     nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr-    nullFunPtr nullFunPtr+    nullFunPtr nullFunPtr nullFunPtr nullFunPtr  -- | A version of 'getInstanceProcAddr' which can be called -- with a null pointer for the instance.@@ -522,6 +524,8 @@   vkReleaseDisplayEXT <- getInstanceProcAddr' handle (Ptr "vkReleaseDisplayEXT"#)   vkAcquireXlibDisplayEXT <- getInstanceProcAddr' handle (Ptr "vkAcquireXlibDisplayEXT"#)   vkGetRandROutputDisplayEXT <- getInstanceProcAddr' handle (Ptr "vkGetRandROutputDisplayEXT"#)+  vkAcquireWinrtDisplayNV <- getInstanceProcAddr' handle (Ptr "vkAcquireWinrtDisplayNV"#)+  vkGetWinrtDisplayNV <- getInstanceProcAddr' handle (Ptr "vkGetWinrtDisplayNV"#)   vkGetPhysicalDeviceSurfaceCapabilities2EXT <- getInstanceProcAddr' handle (Ptr "vkGetPhysicalDeviceSurfaceCapabilities2EXT"#)   vkEnumeratePhysicalDeviceGroups <- getFirstInstanceProcAddr [(Ptr "vkEnumeratePhysicalDeviceGroupsKHR"#), (Ptr "vkEnumeratePhysicalDeviceGroups"#)]   vkGetPhysicalDevicePresentRectanglesKHR <- getInstanceProcAddr' handle (Ptr "vkGetPhysicalDevicePresentRectanglesKHR"#)@@ -604,6 +608,8 @@     (castFunPtr @_ @(Ptr PhysicalDevice_T -> DisplayKHR -> IO Result) vkReleaseDisplayEXT)     (castFunPtr @_ @(Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> DisplayKHR -> IO Result) vkAcquireXlibDisplayEXT)     (castFunPtr @_ @(Ptr PhysicalDevice_T -> ("dpy" ::: Ptr Display) -> RROutput -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result) vkGetRandROutputDisplayEXT)+    (castFunPtr @_ @(Ptr PhysicalDevice_T -> DisplayKHR -> IO Result) vkAcquireWinrtDisplayNV)+    (castFunPtr @_ @(Ptr PhysicalDevice_T -> ("deviceRelativeId" ::: Word32) -> ("pDisplay" ::: Ptr DisplayKHR) -> IO Result) vkGetWinrtDisplayNV)     (castFunPtr @_ @(Ptr PhysicalDevice_T -> SurfaceKHR -> ("pSurfaceCapabilities" ::: Ptr SurfaceCapabilities2EXT) -> IO Result) vkGetPhysicalDeviceSurfaceCapabilities2EXT)     (castFunPtr @_ @(Ptr Instance_T -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr PhysicalDeviceGroupProperties) -> IO Result) vkEnumeratePhysicalDeviceGroups)     (castFunPtr @_ @(Ptr PhysicalDevice_T -> SurfaceKHR -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr Rect2D) -> IO Result) vkGetPhysicalDevicePresentRectanglesKHR)
src/Vulkan/Extensions.hs view
@@ -187,6 +187,7 @@                           , module Vulkan.Extensions.VK_NN_vi_surface                           , module Vulkan.Extensions.VK_NVX_image_view_handle                           , module Vulkan.Extensions.VK_NVX_multiview_per_view_attributes+                          , module Vulkan.Extensions.VK_NV_acquire_winrt_display                           , module Vulkan.Extensions.VK_NV_clip_space_w_scaling                           , module Vulkan.Extensions.VK_NV_compute_shader_derivatives                           , module Vulkan.Extensions.VK_NV_cooperative_matrix@@ -223,6 +224,7 @@                           , module Vulkan.Extensions.VK_QCOM_render_pass_store_ops                           , module Vulkan.Extensions.VK_QCOM_render_pass_transform                           , module Vulkan.Extensions.VK_QCOM_rotated_copy_commands+                          , module Vulkan.Extensions.VK_VALVE_mutable_descriptor_type                           ) where import Vulkan.Extensions.Dependencies import Vulkan.Extensions.Handles@@ -411,6 +413,7 @@ import Vulkan.Extensions.VK_NN_vi_surface import Vulkan.Extensions.VK_NVX_image_view_handle import Vulkan.Extensions.VK_NVX_multiview_per_view_attributes+import Vulkan.Extensions.VK_NV_acquire_winrt_display import Vulkan.Extensions.VK_NV_clip_space_w_scaling import Vulkan.Extensions.VK_NV_compute_shader_derivatives import Vulkan.Extensions.VK_NV_cooperative_matrix@@ -447,4 +450,5 @@ import Vulkan.Extensions.VK_QCOM_render_pass_store_ops import Vulkan.Extensions.VK_QCOM_render_pass_transform import Vulkan.Extensions.VK_QCOM_rotated_copy_commands+import Vulkan.Extensions.VK_VALVE_mutable_descriptor_type 
src/Vulkan/Extensions/Dependencies.hs view
@@ -136,6 +136,7 @@ import Vulkan.Extensions.VK_MVK_macos_surface (pattern MVK_MACOS_SURFACE_EXTENSION_NAME) import Vulkan.Extensions.VK_NN_vi_surface (pattern NN_VI_SURFACE_EXTENSION_NAME) import Vulkan.Extensions.VK_NVX_multiview_per_view_attributes (pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME)+import Vulkan.Extensions.VK_NV_acquire_winrt_display (pattern NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_compute_shader_derivatives (pattern NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_cooperative_matrix (pattern NV_COOPERATIVE_MATRIX_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_corner_sampled_image (pattern NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME)@@ -160,6 +161,7 @@ import Vulkan.Extensions.VK_NV_win32_keyed_mutex (pattern NV_WIN32_KEYED_MUTEX_EXTENSION_NAME) import Vulkan.Extensions.VK_QCOM_render_pass_transform (pattern QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME) import Vulkan.Extensions.VK_QCOM_rotated_copy_commands (pattern QCOM_rotated_copy_commands_EXTENSION_NAME)+import Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME) -- | The set of other extensions required to use this extension extensionDependencies :: ("extensionName" ::: ByteString) -> [ByteString] extensionDependencies = \case@@ -460,9 +462,13 @@   QCOM_rotated_copy_commands_EXTENSION_NAME ->     [KHR_SWAPCHAIN_EXTENSION_NAME, KHR_COPY_COMMANDS_2_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]   EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]-  EXT_4444_FORMATS_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]+  EXT_4444_FORMATS_EXTENSION_NAME     -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]+  NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME ->+    [EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME, KHR_DISPLAY_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]   EXT_DIRECTFB_SURFACE_EXTENSION_NAME -> [KHR_SURFACE_EXTENSION_NAME]-  _                               -> []+  VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME ->+    [KHR_MAINTENANCE3_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]+  _ -> []  -- | The minimum required API version to use this extension extensionCoreRequirement :: ("extensionName" ::: ByteString) -> Word32
src/Vulkan/Extensions/Handles.hs view
@@ -236,6 +236,7 @@ -- -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR', -- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',+-- 'Vulkan.Extensions.VK_NV_acquire_winrt_display.acquireWinrtDisplayNV', -- 'Vulkan.Extensions.VK_EXT_acquire_xlib_display.acquireXlibDisplayEXT', -- 'Vulkan.Extensions.VK_KHR_display.createDisplayModeKHR', -- 'Vulkan.Extensions.VK_EXT_display_control.displayPowerControlEXT',@@ -243,6 +244,7 @@ -- 'Vulkan.Extensions.VK_KHR_display.getDisplayModePropertiesKHR', -- 'Vulkan.Extensions.VK_KHR_display.getDisplayPlaneSupportedDisplaysKHR', -- 'Vulkan.Extensions.VK_EXT_acquire_xlib_display.getRandROutputDisplayEXT',+-- 'Vulkan.Extensions.VK_NV_acquire_winrt_display.getWinrtDisplayNV', -- 'Vulkan.Extensions.VK_EXT_display_control.registerDisplayEventEXT', -- 'Vulkan.Extensions.VK_EXT_direct_mode_display.releaseDisplayEXT' newtype DisplayKHR = DisplayKHR Word64
src/Vulkan/Extensions/VK_AMD_buffer_marker.hs view
@@ -93,6 +93,7 @@                                                , pattern AMD_BUFFER_MARKER_EXTENSION_NAME                                                ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import GHC.IO (throwIO)@@ -291,7 +292,7 @@   unless (vkCmdWriteBufferMarkerAMDPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdWriteBufferMarkerAMD is null" Nothing Nothing   let vkCmdWriteBufferMarkerAMD' = mkVkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMDPtr-  vkCmdWriteBufferMarkerAMD' (commandBufferHandle (commandBuffer)) (pipelineStage) (dstBuffer) (dstOffset) (marker)+  traceAroundEvent "vkCmdWriteBufferMarkerAMD" (vkCmdWriteBufferMarkerAMD' (commandBufferHandle (commandBuffer)) (pipelineStage) (dstBuffer) (dstOffset) (marker))   pure $ ()  
src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs view
@@ -135,6 +135,7 @@                                                     , ColorSpaceKHR(..)                                                     ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -199,8 +200,8 @@ -- -- == Valid Usage ----- -   #VUID-vkSetLocalDimmingAMD-XXXXX# It is only valid to call---     'setLocalDimmingAMD' if+-- -   #VUID-vkSetLocalDimmingAMD-localDimmingSupport-04618# It is only+--     valid to call 'setLocalDimmingAMD' if --     'DisplayNativeHdrSurfaceCapabilitiesAMD'::@localDimmingSupport@ is --     supported --@@ -223,7 +224,7 @@   unless (vkSetLocalDimmingAMDPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetLocalDimmingAMD is null" Nothing Nothing   let vkSetLocalDimmingAMD' = mkVkSetLocalDimmingAMD vkSetLocalDimmingAMDPtr-  vkSetLocalDimmingAMD' (deviceHandle (device)) (swapChain) (boolToBool32 (localDimmingEnable))+  traceAroundEvent "vkSetLocalDimmingAMD" (vkSetLocalDimmingAMD' (deviceHandle (device)) (swapChain) (boolToBool32 (localDimmingEnable)))   pure $ ()  
src/Vulkan/Extensions/VK_AMD_shader_info.hs view
@@ -169,6 +169,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -341,11 +342,11 @@   let vkGetShaderInfoAMD' = mkVkGetShaderInfoAMD vkGetShaderInfoAMDPtr   let device' = deviceHandle (device)   pPInfoSize <- ContT $ bracket (callocBytes @CSize 8) free-  r <- lift $ vkGetShaderInfoAMD' device' (pipeline) (shaderStage) (infoType) (pPInfoSize) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetShaderInfoAMD" (vkGetShaderInfoAMD' device' (pipeline) (shaderStage) (infoType) (pPInfoSize) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pInfoSize <- lift $ peek @CSize pPInfoSize   pPInfo <- ContT $ bracket (callocBytes @(()) (fromIntegral (((\(CSize a) -> a) pInfoSize)))) free-  r' <- lift $ vkGetShaderInfoAMD' device' (pipeline) (shaderStage) (infoType) (pPInfoSize) (pPInfo)+  r' <- lift $ traceAroundEvent "vkGetShaderInfoAMD" (vkGetShaderInfoAMD' device' (pipeline) (shaderStage) (infoType) (pPInfoSize) (pPInfo))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pInfoSize'' <- lift $ peek @CSize pPInfoSize   pInfo' <- lift $ packCStringLen  (castPtr @() @CChar pPInfo, (fromIntegral (((\(CSize a) -> a) pInfoSize''))))
src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs view
@@ -270,6 +270,7 @@                                                                              , AHardwareBuffer                                                                              ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -390,7 +391,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetAndroidHardwareBufferPropertiesANDROID is null" Nothing Nothing   let vkGetAndroidHardwareBufferPropertiesANDROID' = mkVkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROIDPtr   pPProperties <- ContT (withZeroCStruct @(AndroidHardwareBufferPropertiesANDROID _))-  r <- lift $ vkGetAndroidHardwareBufferPropertiesANDROID' (deviceHandle (device)) (buffer) (forgetExtensions (pPProperties))+  r <- lift $ traceAroundEvent "vkGetAndroidHardwareBufferPropertiesANDROID" (vkGetAndroidHardwareBufferPropertiesANDROID' (deviceHandle (device)) (buffer) (forgetExtensions (pPProperties)))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pProperties <- lift $ peekCStruct @(AndroidHardwareBufferPropertiesANDROID _) pPProperties   pure $ (pProperties)@@ -459,7 +460,7 @@   let vkGetMemoryAndroidHardwareBufferANDROID' = mkVkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROIDPtr   pInfo <- ContT $ withCStruct (info)   pPBuffer <- ContT $ bracket (callocBytes @(Ptr AHardwareBuffer) 8) free-  r <- lift $ vkGetMemoryAndroidHardwareBufferANDROID' (deviceHandle (device)) pInfo (pPBuffer)+  r <- lift $ traceAroundEvent "vkGetMemoryAndroidHardwareBufferANDROID" (vkGetMemoryAndroidHardwareBufferANDROID' (deviceHandle (device)) pInfo (pPBuffer))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pBuffer <- lift $ peek @(Ptr AHardwareBuffer) pPBuffer   pure $ (pBuffer)
src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs view
@@ -123,6 +123,7 @@                                                       , Display                                                       ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -227,7 +228,7 @@   unless (vkAcquireXlibDisplayEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkAcquireXlibDisplayEXT is null" Nothing Nothing   let vkAcquireXlibDisplayEXT' = mkVkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXTPtr-  r <- vkAcquireXlibDisplayEXT' (physicalDeviceHandle (physicalDevice)) (dpy) (display)+  r <- traceAroundEvent "vkAcquireXlibDisplayEXT" (vkAcquireXlibDisplayEXT' (physicalDeviceHandle (physicalDevice)) (dpy) (display))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -283,7 +284,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetRandROutputDisplayEXT is null" Nothing Nothing   let vkGetRandROutputDisplayEXT' = mkVkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXTPtr   pPDisplay <- ContT $ bracket (callocBytes @DisplayKHR 8) free-  r <- lift $ vkGetRandROutputDisplayEXT' (physicalDeviceHandle (physicalDevice)) (dpy) (rrOutput) (pPDisplay)+  r <- lift $ traceAroundEvent "vkGetRandROutputDisplayEXT" (vkGetRandROutputDisplayEXT' (physicalDeviceHandle (physicalDevice)) (dpy) (rrOutput) (pPDisplay))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDisplay <- lift $ peek @DisplayKHR pPDisplay   pure $ (pDisplay)
src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs view
@@ -181,6 +181,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -310,11 +311,11 @@   let vkGetPhysicalDeviceCalibrateableTimeDomainsEXT' = mkVkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXTPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPTimeDomainCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceCalibrateableTimeDomainsEXT' physicalDevice' (pPTimeDomainCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" (vkGetPhysicalDeviceCalibrateableTimeDomainsEXT' physicalDevice' (pPTimeDomainCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pTimeDomainCount <- lift $ peek @Word32 pPTimeDomainCount   pPTimeDomains <- ContT $ bracket (callocBytes @TimeDomainEXT ((fromIntegral (pTimeDomainCount)) * 4)) free-  r' <- lift $ vkGetPhysicalDeviceCalibrateableTimeDomainsEXT' physicalDevice' (pPTimeDomainCount) (pPTimeDomains)+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" (vkGetPhysicalDeviceCalibrateableTimeDomainsEXT' physicalDevice' (pPTimeDomainCount) (pPTimeDomains))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pTimeDomainCount' <- lift $ peek @Word32 pPTimeDomainCount   pTimeDomains' <- lift $ generateM (fromIntegral (pTimeDomainCount')) (\i -> peek @TimeDomainEXT ((pPTimeDomains `advancePtrBytes` (4 * (i)) :: Ptr TimeDomainEXT)))@@ -389,7 +390,7 @@   lift $ Data.Vector.imapM_ (\i e -> poke (pPTimestampInfos `plusPtr` (24 * (i)) :: Ptr CalibratedTimestampInfoEXT) (e)) (timestampInfos)   pPTimestamps <- ContT $ bracket (callocBytes @Word64 ((fromIntegral ((fromIntegral (Data.Vector.length $ (timestampInfos)) :: Word32))) * 8)) free   pPMaxDeviation <- ContT $ bracket (callocBytes @Word64 8) free-  r <- lift $ vkGetCalibratedTimestampsEXT' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (timestampInfos)) :: Word32)) (pPTimestampInfos) (pPTimestamps) (pPMaxDeviation)+  r <- lift $ traceAroundEvent "vkGetCalibratedTimestampsEXT" (vkGetCalibratedTimestampsEXT' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (timestampInfos)) :: Word32)) (pPTimestampInfos) (pPTimestamps) (pPMaxDeviation))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pTimestamps <- lift $ generateM (fromIntegral ((fromIntegral (Data.Vector.length $ (timestampInfos)) :: Word32))) (\i -> peek @Word64 ((pPTimestamps `advancePtrBytes` (8 * (i)) :: Ptr Word64)))   pMaxDeviation <- lift $ peek @Word64 pPMaxDeviation
src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs view
@@ -178,6 +178,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -300,7 +301,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBeginConditionalRenderingEXT is null" Nothing Nothing   let vkCmdBeginConditionalRenderingEXT' = mkVkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXTPtr   pConditionalRenderingBegin <- ContT $ withCStruct (conditionalRenderingBegin)-  lift $ vkCmdBeginConditionalRenderingEXT' (commandBufferHandle (commandBuffer)) pConditionalRenderingBegin+  lift $ traceAroundEvent "vkCmdBeginConditionalRenderingEXT" (vkCmdBeginConditionalRenderingEXT' (commandBufferHandle (commandBuffer)) pConditionalRenderingBegin)   pure $ ()  -- | This function will call the supplied action between calls to@@ -390,7 +391,7 @@   unless (vkCmdEndConditionalRenderingEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdEndConditionalRenderingEXT is null" Nothing Nothing   let vkCmdEndConditionalRenderingEXT' = mkVkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXTPtr-  vkCmdEndConditionalRenderingEXT' (commandBufferHandle (commandBuffer))+  traceAroundEvent "vkCmdEndConditionalRenderingEXT" (vkCmdEndConditionalRenderingEXT' (commandBufferHandle (commandBuffer)))   pure $ ()  
src/Vulkan/Extensions/VK_EXT_debug_marker.hs view
@@ -288,6 +288,7 @@                                               ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -400,7 +401,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkDebugMarkerSetObjectNameEXT is null" Nothing Nothing   let vkDebugMarkerSetObjectNameEXT' = mkVkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXTPtr   pNameInfo <- ContT $ withCStruct (nameInfo)-  r <- lift $ vkDebugMarkerSetObjectNameEXT' (deviceHandle (device)) pNameInfo+  r <- lift $ traceAroundEvent "vkDebugMarkerSetObjectNameEXT" (vkDebugMarkerSetObjectNameEXT' (deviceHandle (device)) pNameInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -455,7 +456,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkDebugMarkerSetObjectTagEXT is null" Nothing Nothing   let vkDebugMarkerSetObjectTagEXT' = mkVkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXTPtr   pTagInfo <- ContT $ withCStruct (tagInfo)-  r <- lift $ vkDebugMarkerSetObjectTagEXT' (deviceHandle (device)) pTagInfo+  r <- lift $ traceAroundEvent "vkDebugMarkerSetObjectTagEXT" (vkDebugMarkerSetObjectTagEXT' (deviceHandle (device)) pTagInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -522,7 +523,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDebugMarkerBeginEXT is null" Nothing Nothing   let vkCmdDebugMarkerBeginEXT' = mkVkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXTPtr   pMarkerInfo <- ContT $ withCStruct (markerInfo)-  lift $ vkCmdDebugMarkerBeginEXT' (commandBufferHandle (commandBuffer)) pMarkerInfo+  lift $ traceAroundEvent "vkCmdDebugMarkerBeginEXT" (vkCmdDebugMarkerBeginEXT' (commandBufferHandle (commandBuffer)) pMarkerInfo)   pure $ ()  @@ -602,7 +603,7 @@   unless (vkCmdDebugMarkerEndEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDebugMarkerEndEXT is null" Nothing Nothing   let vkCmdDebugMarkerEndEXT' = mkVkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXTPtr-  vkCmdDebugMarkerEndEXT' (commandBufferHandle (commandBuffer))+  traceAroundEvent "vkCmdDebugMarkerEndEXT" (vkCmdDebugMarkerEndEXT' (commandBufferHandle (commandBuffer)))   pure $ ()  @@ -669,7 +670,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDebugMarkerInsertEXT is null" Nothing Nothing   let vkCmdDebugMarkerInsertEXT' = mkVkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXTPtr   pMarkerInfo <- ContT $ withCStruct (markerInfo)-  lift $ vkCmdDebugMarkerInsertEXT' (commandBufferHandle (commandBuffer)) pMarkerInfo+  lift $ traceAroundEvent "vkCmdDebugMarkerInsertEXT" (vkCmdDebugMarkerInsertEXT' (commandBufferHandle (commandBuffer)) pMarkerInfo)   pure $ ()  
src/Vulkan/Extensions/VK_EXT_debug_report.hs view
@@ -372,6 +372,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -506,7 +507,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPCallback <- ContT $ bracket (callocBytes @DebugReportCallbackEXT 8) free-  r <- lift $ vkCreateDebugReportCallbackEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPCallback)+  r <- lift $ traceAroundEvent "vkCreateDebugReportCallbackEXT" (vkCreateDebugReportCallbackEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPCallback))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCallback <- lift $ peek @DebugReportCallbackEXT pPCallback   pure $ (pCallback)@@ -596,7 +597,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyDebugReportCallbackEXT' (instanceHandle (instance')) (callback) pAllocator+  lift $ traceAroundEvent "vkDestroyDebugReportCallbackEXT" (vkDestroyDebugReportCallbackEXT' (instanceHandle (instance')) (callback) pAllocator)   pure $ ()  @@ -683,7 +684,7 @@   let vkDebugReportMessageEXT' = mkVkDebugReportMessageEXT vkDebugReportMessageEXTPtr   pLayerPrefix <- ContT $ useAsCString (layerPrefix)   pMessage <- ContT $ useAsCString (message)-  lift $ vkDebugReportMessageEXT' (instanceHandle (instance')) (flags) (objectType) (object) (CSize (location)) (messageCode) pLayerPrefix pMessage+  lift $ traceAroundEvent "vkDebugReportMessageEXT" (vkDebugReportMessageEXT' (instanceHandle (instance')) (flags) (objectType) (object) (CSize (location)) (messageCode) pLayerPrefix pMessage)   pure $ ()  
src/Vulkan/Extensions/VK_EXT_debug_utils.hs view
@@ -531,6 +531,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -691,7 +692,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetDebugUtilsObjectNameEXT is null" Nothing Nothing   let vkSetDebugUtilsObjectNameEXT' = mkVkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXTPtr   pNameInfo <- ContT $ withCStruct (nameInfo)-  r <- lift $ vkSetDebugUtilsObjectNameEXT' (deviceHandle (device)) pNameInfo+  r <- lift $ traceAroundEvent "vkSetDebugUtilsObjectNameEXT" (vkSetDebugUtilsObjectNameEXT' (deviceHandle (device)) pNameInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -747,7 +748,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetDebugUtilsObjectTagEXT is null" Nothing Nothing   let vkSetDebugUtilsObjectTagEXT' = mkVkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXTPtr   pTagInfo <- ContT $ withCStruct (tagInfo)-  r <- lift $ vkSetDebugUtilsObjectTagEXT' (deviceHandle (device)) pTagInfo+  r <- lift $ traceAroundEvent "vkSetDebugUtilsObjectTagEXT" (vkSetDebugUtilsObjectTagEXT' (deviceHandle (device)) pTagInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -793,7 +794,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkQueueBeginDebugUtilsLabelEXT is null" Nothing Nothing   let vkQueueBeginDebugUtilsLabelEXT' = mkVkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXTPtr   pLabelInfo <- ContT $ withCStruct (labelInfo)-  lift $ vkQueueBeginDebugUtilsLabelEXT' (queueHandle (queue)) pLabelInfo+  lift $ traceAroundEvent "vkQueueBeginDebugUtilsLabelEXT" (vkQueueBeginDebugUtilsLabelEXT' (queueHandle (queue)) pLabelInfo)   pure $ ()  @@ -845,7 +846,7 @@   unless (vkQueueEndDebugUtilsLabelEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkQueueEndDebugUtilsLabelEXT is null" Nothing Nothing   let vkQueueEndDebugUtilsLabelEXT' = mkVkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXTPtr-  vkQueueEndDebugUtilsLabelEXT' (queueHandle (queue))+  traceAroundEvent "vkQueueEndDebugUtilsLabelEXT" (vkQueueEndDebugUtilsLabelEXT' (queueHandle (queue)))   pure $ ()  @@ -891,7 +892,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkQueueInsertDebugUtilsLabelEXT is null" Nothing Nothing   let vkQueueInsertDebugUtilsLabelEXT' = mkVkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXTPtr   pLabelInfo <- ContT $ withCStruct (labelInfo)-  lift $ vkQueueInsertDebugUtilsLabelEXT' (queueHandle (queue)) pLabelInfo+  lift $ traceAroundEvent "vkQueueInsertDebugUtilsLabelEXT" (vkQueueInsertDebugUtilsLabelEXT' (queueHandle (queue)) pLabelInfo)   pure $ ()  @@ -958,7 +959,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBeginDebugUtilsLabelEXT is null" Nothing Nothing   let vkCmdBeginDebugUtilsLabelEXT' = mkVkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXTPtr   pLabelInfo <- ContT $ withCStruct (labelInfo)-  lift $ vkCmdBeginDebugUtilsLabelEXT' (commandBufferHandle (commandBuffer)) pLabelInfo+  lift $ traceAroundEvent "vkCmdBeginDebugUtilsLabelEXT" (vkCmdBeginDebugUtilsLabelEXT' (commandBufferHandle (commandBuffer)) pLabelInfo)   pure $ ()  -- | This function will call the supplied action between calls to@@ -1048,7 +1049,7 @@   unless (vkCmdEndDebugUtilsLabelEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdEndDebugUtilsLabelEXT is null" Nothing Nothing   let vkCmdEndDebugUtilsLabelEXT' = mkVkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXTPtr-  vkCmdEndDebugUtilsLabelEXT' (commandBufferHandle (commandBuffer))+  traceAroundEvent "vkCmdEndDebugUtilsLabelEXT" (vkCmdEndDebugUtilsLabelEXT' (commandBufferHandle (commandBuffer)))   pure $ ()  @@ -1114,7 +1115,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdInsertDebugUtilsLabelEXT is null" Nothing Nothing   let vkCmdInsertDebugUtilsLabelEXT' = mkVkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXTPtr   pLabelInfo <- ContT $ withCStruct (labelInfo)-  lift $ vkCmdInsertDebugUtilsLabelEXT' (commandBufferHandle (commandBuffer)) pLabelInfo+  lift $ traceAroundEvent "vkCmdInsertDebugUtilsLabelEXT" (vkCmdInsertDebugUtilsLabelEXT' (commandBufferHandle (commandBuffer)) pLabelInfo)   pure $ ()  @@ -1188,7 +1189,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPMessenger <- ContT $ bracket (callocBytes @DebugUtilsMessengerEXT 8) free-  r <- lift $ vkCreateDebugUtilsMessengerEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPMessenger)+  r <- lift $ traceAroundEvent "vkCreateDebugUtilsMessengerEXT" (vkCreateDebugUtilsMessengerEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPMessenger))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pMessenger <- lift $ peek @DebugUtilsMessengerEXT pPMessenger   pure $ (pMessenger)@@ -1282,7 +1283,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyDebugUtilsMessengerEXT' (instanceHandle (instance')) (messenger) pAllocator+  lift $ traceAroundEvent "vkDestroyDebugUtilsMessengerEXT" (vkDestroyDebugUtilsMessengerEXT' (instanceHandle (instance')) (messenger) pAllocator)   pure $ ()  @@ -1352,7 +1353,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSubmitDebugUtilsMessageEXT is null" Nothing Nothing   let vkSubmitDebugUtilsMessageEXT' = mkVkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXTPtr   pCallbackData <- ContT $ withCStruct (callbackData)-  lift $ vkSubmitDebugUtilsMessageEXT' (instanceHandle (instance')) (messageSeverity) (messageTypes) pCallbackData+  lift $ traceAroundEvent "vkSubmitDebugUtilsMessageEXT" (vkSubmitDebugUtilsMessageEXT' (instanceHandle (instance')) (messageSeverity) (messageTypes) pCallbackData)   pure $ ()  
src/Vulkan/Extensions/VK_EXT_direct_mode_display.hs view
@@ -111,6 +111,7 @@                                                      , DisplayKHR(..)                                                      ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import GHC.IO (throwIO)@@ -170,7 +171,7 @@   unless (vkReleaseDisplayEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkReleaseDisplayEXT is null" Nothing Nothing   let vkReleaseDisplayEXT' = mkVkReleaseDisplayEXT vkReleaseDisplayEXTPtr-  _ <- vkReleaseDisplayEXT' (physicalDeviceHandle (physicalDevice)) (display)+  _ <- traceAroundEvent "vkReleaseDisplayEXT" (vkReleaseDisplayEXT' (physicalDeviceHandle (physicalDevice)) (display))   pure $ ()  
src/Vulkan/Extensions/VK_EXT_directfb_surface.hs view
@@ -106,6 +106,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -236,7 +237,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateDirectFBSurfaceEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateDirectFBSurfaceEXT" (vkCreateDirectFBSurfaceEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)@@ -289,7 +290,7 @@   unless (vkGetPhysicalDeviceDirectFBPresentationSupportEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceDirectFBPresentationSupportEXT is null" Nothing Nothing   let vkGetPhysicalDeviceDirectFBPresentationSupportEXT' = mkVkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXTPtr-  r <- vkGetPhysicalDeviceDirectFBPresentationSupportEXT' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (dfb)+  r <- traceAroundEvent "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" (vkGetPhysicalDeviceDirectFBPresentationSupportEXT' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (dfb))   pure $ ((bool32ToBool r))  
src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs view
@@ -140,6 +140,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -301,7 +302,7 @@   let vkCmdSetDiscardRectangleEXT' = mkVkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXTPtr   pPDiscardRectangles <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (discardRectangles)) * 16) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPDiscardRectangles `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (discardRectangles)-  lift $ vkCmdSetDiscardRectangleEXT' (commandBufferHandle (commandBuffer)) (firstDiscardRectangle) ((fromIntegral (Data.Vector.length $ (discardRectangles)) :: Word32)) (pPDiscardRectangles)+  lift $ traceAroundEvent "vkCmdSetDiscardRectangleEXT" (vkCmdSetDiscardRectangleEXT' (commandBufferHandle (commandBuffer)) (firstDiscardRectangle) ((fromIntegral (Data.Vector.length $ (discardRectangles)) :: Word32)) (pPDiscardRectangles))   pure $ ()  
src/Vulkan/Extensions/VK_EXT_display_control.hs view
@@ -181,6 +181,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -305,7 +306,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkDisplayPowerControlEXT is null" Nothing Nothing   let vkDisplayPowerControlEXT' = mkVkDisplayPowerControlEXT vkDisplayPowerControlEXTPtr   pDisplayPowerInfo <- ContT $ withCStruct (displayPowerInfo)-  r <- lift $ vkDisplayPowerControlEXT' (deviceHandle (device)) (display) pDisplayPowerInfo+  r <- lift $ traceAroundEvent "vkDisplayPowerControlEXT" (vkDisplayPowerControlEXT' (deviceHandle (device)) (display) pDisplayPowerInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -371,7 +372,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPFence <- ContT $ bracket (callocBytes @Fence 8) free-  r <- lift $ vkRegisterDeviceEventEXT' (deviceHandle (device)) pDeviceEventInfo pAllocator (pPFence)+  r <- lift $ traceAroundEvent "vkRegisterDeviceEventEXT" (vkRegisterDeviceEventEXT' (deviceHandle (device)) pDeviceEventInfo pAllocator (pPFence))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFence <- lift $ peek @Fence pPFence   pure $ (pFence)@@ -449,7 +450,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPFence <- ContT $ bracket (callocBytes @Fence 8) free-  r <- lift $ vkRegisterDisplayEventEXT' (deviceHandle (device)) (display) pDisplayEventInfo pAllocator (pPFence)+  r <- lift $ traceAroundEvent "vkRegisterDisplayEventEXT" (vkRegisterDisplayEventEXT' (deviceHandle (device)) (display) pDisplayEventInfo pAllocator (pPFence))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFence <- lift $ peek @Fence pPFence   pure $ (pFence)@@ -531,7 +532,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetSwapchainCounterEXT is null" Nothing Nothing   let vkGetSwapchainCounterEXT' = mkVkGetSwapchainCounterEXT vkGetSwapchainCounterEXTPtr   pPCounterValue <- ContT $ bracket (callocBytes @Word64 8) free-  r <- lift $ vkGetSwapchainCounterEXT' (deviceHandle (device)) (swapchain) (counter) (pPCounterValue)+  r <- lift $ traceAroundEvent "vkGetSwapchainCounterEXT" (vkGetSwapchainCounterEXT' (deviceHandle (device)) (swapchain) (counter) (pPCounterValue))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCounterValue <- lift $ peek @Word64 pPCounterValue   pure $ (pCounterValue)
src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs view
@@ -119,6 +119,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -247,7 +248,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceSurfaceCapabilities2EXT is null" Nothing Nothing   let vkGetPhysicalDeviceSurfaceCapabilities2EXT' = mkVkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXTPtr   pPSurfaceCapabilities <- ContT (withZeroCStruct @SurfaceCapabilities2EXT)-  r <- lift $ vkGetPhysicalDeviceSurfaceCapabilities2EXT' (physicalDeviceHandle (physicalDevice)) (surface) (pPSurfaceCapabilities)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceCapabilities2EXT" (vkGetPhysicalDeviceSurfaceCapabilities2EXT' (physicalDeviceHandle (physicalDevice)) (surface) (pPSurfaceCapabilities))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurfaceCapabilities <- lift $ peekCStruct @SurfaceCapabilities2EXT pPSurfaceCapabilities   pure $ (pSurfaceCapabilities)
src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs view
@@ -176,6 +176,7 @@                                                         , pattern EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME                                                         ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -315,7 +316,7 @@   unless (vkCmdSetCullModeEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetCullModeEXT is null" Nothing Nothing   let vkCmdSetCullModeEXT' = mkVkCmdSetCullModeEXT vkCmdSetCullModeEXTPtr-  vkCmdSetCullModeEXT' (commandBufferHandle (commandBuffer)) (cullMode)+  traceAroundEvent "vkCmdSetCullModeEXT" (vkCmdSetCullModeEXT' (commandBufferHandle (commandBuffer)) (cullMode))   pure $ ()  @@ -385,7 +386,7 @@   unless (vkCmdSetFrontFaceEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetFrontFaceEXT is null" Nothing Nothing   let vkCmdSetFrontFaceEXT' = mkVkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXTPtr-  vkCmdSetFrontFaceEXT' (commandBufferHandle (commandBuffer)) (frontFace)+  traceAroundEvent "vkCmdSetFrontFaceEXT" (vkCmdSetFrontFaceEXT' (commandBufferHandle (commandBuffer)) (frontFace))   pure $ ()  @@ -457,7 +458,7 @@   unless (vkCmdSetPrimitiveTopologyEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetPrimitiveTopologyEXT is null" Nothing Nothing   let vkCmdSetPrimitiveTopologyEXT' = mkVkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXTPtr-  vkCmdSetPrimitiveTopologyEXT' (commandBufferHandle (commandBuffer)) (primitiveTopology)+  traceAroundEvent "vkCmdSetPrimitiveTopologyEXT" (vkCmdSetPrimitiveTopologyEXT' (commandBufferHandle (commandBuffer)) (primitiveTopology))   pure $ ()  @@ -542,7 +543,7 @@   let vkCmdSetViewportWithCountEXT' = mkVkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXTPtr   pPViewports <- ContT $ allocaBytesAligned @Viewport ((Data.Vector.length (viewports)) * 24) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPViewports `plusPtr` (24 * (i)) :: Ptr Viewport) (e)) (viewports)-  lift $ vkCmdSetViewportWithCountEXT' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (viewports)) :: Word32)) (pPViewports)+  lift $ traceAroundEvent "vkCmdSetViewportWithCountEXT" (vkCmdSetViewportWithCountEXT' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (viewports)) :: Word32)) (pPViewports))   pure $ ()  @@ -640,7 +641,7 @@   let vkCmdSetScissorWithCountEXT' = mkVkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXTPtr   pPScissors <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (scissors)) * 16) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPScissors `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (scissors)-  lift $ vkCmdSetScissorWithCountEXT' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (scissors)) :: Word32)) (pPScissors)+  lift $ traceAroundEvent "vkCmdSetScissorWithCountEXT" (vkCmdSetScissorWithCountEXT' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (scissors)) :: Word32)) (pPScissors))   pure $ ()  @@ -837,7 +838,7 @@       pPStrides <- ContT $ allocaBytesAligned @DeviceSize (((Data.Vector.length (strides))) * 8) 8       lift $ Data.Vector.imapM_ (\i e -> poke (pPStrides `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) ((strides))       pure $ pPStrides-  lift $ vkCmdBindVertexBuffers2EXT' (commandBufferHandle (commandBuffer)) (firstBinding) ((fromIntegral pBuffersLength :: Word32)) (pPBuffers) (pPOffsets) pSizes pStrides+  lift $ traceAroundEvent "vkCmdBindVertexBuffers2EXT" (vkCmdBindVertexBuffers2EXT' (commandBufferHandle (commandBuffer)) (firstBinding) ((fromIntegral pBuffersLength :: Word32)) (pPBuffers) (pPOffsets) pSizes pStrides)   pure $ ()  @@ -914,7 +915,7 @@   unless (vkCmdSetDepthTestEnableEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthTestEnableEXT is null" Nothing Nothing   let vkCmdSetDepthTestEnableEXT' = mkVkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXTPtr-  vkCmdSetDepthTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthTestEnable))+  traceAroundEvent "vkCmdSetDepthTestEnableEXT" (vkCmdSetDepthTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthTestEnable)))   pure $ ()  @@ -991,7 +992,7 @@   unless (vkCmdSetDepthWriteEnableEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthWriteEnableEXT is null" Nothing Nothing   let vkCmdSetDepthWriteEnableEXT' = mkVkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXTPtr-  vkCmdSetDepthWriteEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthWriteEnable))+  traceAroundEvent "vkCmdSetDepthWriteEnableEXT" (vkCmdSetDepthWriteEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthWriteEnable)))   pure $ ()  @@ -1072,7 +1073,7 @@   unless (vkCmdSetDepthCompareOpEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthCompareOpEXT is null" Nothing Nothing   let vkCmdSetDepthCompareOpEXT' = mkVkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXTPtr-  vkCmdSetDepthCompareOpEXT' (commandBufferHandle (commandBuffer)) (depthCompareOp)+  traceAroundEvent "vkCmdSetDepthCompareOpEXT" (vkCmdSetDepthCompareOpEXT' (commandBufferHandle (commandBuffer)) (depthCompareOp))   pure $ ()  @@ -1149,7 +1150,7 @@   unless (vkCmdSetDepthBoundsTestEnableEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthBoundsTestEnableEXT is null" Nothing Nothing   let vkCmdSetDepthBoundsTestEnableEXT' = mkVkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXTPtr-  vkCmdSetDepthBoundsTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthBoundsTestEnable))+  traceAroundEvent "vkCmdSetDepthBoundsTestEnableEXT" (vkCmdSetDepthBoundsTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthBoundsTestEnable)))   pure $ ()  @@ -1226,7 +1227,7 @@   unless (vkCmdSetStencilTestEnableEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetStencilTestEnableEXT is null" Nothing Nothing   let vkCmdSetStencilTestEnableEXT' = mkVkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXTPtr-  vkCmdSetStencilTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (stencilTestEnable))+  traceAroundEvent "vkCmdSetStencilTestEnableEXT" (vkCmdSetStencilTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (stencilTestEnable)))   pure $ ()  @@ -1336,7 +1337,7 @@   unless (vkCmdSetStencilOpEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetStencilOpEXT is null" Nothing Nothing   let vkCmdSetStencilOpEXT' = mkVkCmdSetStencilOpEXT vkCmdSetStencilOpEXTPtr-  vkCmdSetStencilOpEXT' (commandBufferHandle (commandBuffer)) (faceMask) (failOp) (passOp) (depthFailOp) (compareOp)+  traceAroundEvent "vkCmdSetStencilOpEXT" (vkCmdSetStencilOpEXT' (commandBufferHandle (commandBuffer)) (faceMask) (failOp) (passOp) (depthFailOp) (compareOp))   pure $ ()  
src/Vulkan/Extensions/VK_EXT_external_memory_host.hs view
@@ -179,6 +179,7 @@                                                       , pattern EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME                                                       ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -303,7 +304,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetMemoryHostPointerPropertiesEXT is null" Nothing Nothing   let vkGetMemoryHostPointerPropertiesEXT' = mkVkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXTPtr   pPMemoryHostPointerProperties <- ContT (withZeroCStruct @MemoryHostPointerPropertiesEXT)-  r <- lift $ vkGetMemoryHostPointerPropertiesEXT' (deviceHandle (device)) (handleType) (hostPointer) (pPMemoryHostPointerProperties)+  r <- lift $ traceAroundEvent "vkGetMemoryHostPointerPropertiesEXT" (vkGetMemoryHostPointerPropertiesEXT' (deviceHandle (device)) (handleType) (hostPointer) (pPMemoryHostPointerProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pMemoryHostPointerProperties <- lift $ peekCStruct @MemoryHostPointerPropertiesEXT pPMemoryHostPointerProperties   pure $ (pMemoryHostPointerProperties)
src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs view
@@ -283,6 +283,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -442,11 +443,11 @@   pSurfaceInfo <- ContT $ withCStruct (surfaceInfo)   let x9 = forgetExtensions pSurfaceInfo   pPPresentModeCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceSurfacePresentModes2EXT' physicalDevice' x9 (pPPresentModeCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfacePresentModes2EXT" (vkGetPhysicalDeviceSurfacePresentModes2EXT' physicalDevice' x9 (pPPresentModeCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPresentModeCount <- lift $ peek @Word32 pPPresentModeCount   pPPresentModes <- ContT $ bracket (callocBytes @PresentModeKHR ((fromIntegral (pPresentModeCount)) * 4)) free-  r' <- lift $ vkGetPhysicalDeviceSurfacePresentModes2EXT' physicalDevice' x9 (pPPresentModeCount) (pPPresentModes)+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfacePresentModes2EXT" (vkGetPhysicalDeviceSurfacePresentModes2EXT' physicalDevice' x9 (pPPresentModeCount) (pPPresentModes))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPresentModeCount' <- lift $ peek @Word32 pPPresentModeCount   pPresentModes' <- lift $ generateM (fromIntegral (pPresentModeCount')) (\i -> peek @PresentModeKHR ((pPPresentModes `advancePtrBytes` (4 * (i)) :: Ptr PresentModeKHR)))@@ -514,7 +515,7 @@   let vkGetDeviceGroupSurfacePresentModes2EXT' = mkVkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXTPtr   pSurfaceInfo <- ContT $ withCStruct (surfaceInfo)   pPModes <- ContT $ bracket (callocBytes @DeviceGroupPresentModeFlagsKHR 4) free-  r <- lift $ vkGetDeviceGroupSurfacePresentModes2EXT' (deviceHandle (device)) (forgetExtensions pSurfaceInfo) (pPModes)+  r <- lift $ traceAroundEvent "vkGetDeviceGroupSurfacePresentModes2EXT" (vkGetDeviceGroupSurfacePresentModes2EXT' (deviceHandle (device)) (forgetExtensions pSurfaceInfo) (pPModes))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pModes <- lift $ peek @DeviceGroupPresentModeFlagsKHR pPModes   pure $ (pModes)@@ -606,7 +607,7 @@   unless (vkAcquireFullScreenExclusiveModeEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkAcquireFullScreenExclusiveModeEXT is null" Nothing Nothing   let vkAcquireFullScreenExclusiveModeEXT' = mkVkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXTPtr-  r <- vkAcquireFullScreenExclusiveModeEXT' (deviceHandle (device)) (swapchain)+  r <- traceAroundEvent "vkAcquireFullScreenExclusiveModeEXT" (vkAcquireFullScreenExclusiveModeEXT' (deviceHandle (device)) (swapchain))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -655,7 +656,7 @@   unless (vkReleaseFullScreenExclusiveModeEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkReleaseFullScreenExclusiveModeEXT is null" Nothing Nothing   let vkReleaseFullScreenExclusiveModeEXT' = mkVkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXTPtr-  r <- vkReleaseFullScreenExclusiveModeEXT' (deviceHandle (device)) (swapchain)+  r <- traceAroundEvent "vkReleaseFullScreenExclusiveModeEXT" (vkReleaseFullScreenExclusiveModeEXT' (deviceHandle (device)) (swapchain))   when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs view
@@ -127,6 +127,7 @@                                               , SwapchainKHR(..)                                               ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -227,7 +228,7 @@   lift $ Data.Vector.imapM_ (\i e -> poke (pPSwapchains `plusPtr` (8 * (i)) :: Ptr SwapchainKHR) (e)) (swapchains)   pPMetadata <- ContT $ allocaBytesAligned @HdrMetadataEXT ((Data.Vector.length (metadata)) * 64) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPMetadata `plusPtr` (64 * (i)) :: Ptr HdrMetadataEXT) (e)) (metadata)-  lift $ vkSetHdrMetadataEXT' (deviceHandle (device)) ((fromIntegral pSwapchainsLength :: Word32)) (pPSwapchains) (pPMetadata)+  lift $ traceAroundEvent "vkSetHdrMetadataEXT" (vkSetHdrMetadataEXT' (deviceHandle (device)) ((fromIntegral pSwapchainsLength :: Word32)) (pPSwapchains) (pPMetadata))   pure $ ()  
src/Vulkan/Extensions/VK_EXT_headless_surface.hs view
@@ -114,6 +114,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -236,7 +237,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateHeadlessSurfaceEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateHeadlessSurfaceEXT" (vkCreateHeadlessSurfaceEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs view
@@ -539,6 +539,7 @@                                                            , pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME                                                            ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -644,7 +645,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetImageDrmFormatModifierPropertiesEXT is null" Nothing Nothing   let vkGetImageDrmFormatModifierPropertiesEXT' = mkVkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXTPtr   pPProperties <- ContT (withZeroCStruct @ImageDrmFormatModifierPropertiesEXT)-  r <- lift $ vkGetImageDrmFormatModifierPropertiesEXT' (deviceHandle (device)) (image) (pPProperties)+  r <- lift $ traceAroundEvent "vkGetImageDrmFormatModifierPropertiesEXT" (vkGetImageDrmFormatModifierPropertiesEXT' (deviceHandle (device)) (image) (pPProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pProperties <- lift $ peekCStruct @ImageDrmFormatModifierPropertiesEXT pPProperties   pure $ (pProperties)
src/Vulkan/Extensions/VK_EXT_line_rasterization.hs view
@@ -150,6 +150,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -260,7 +261,7 @@   unless (vkCmdSetLineStippleEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetLineStippleEXT is null" Nothing Nothing   let vkCmdSetLineStippleEXT' = mkVkCmdSetLineStippleEXT vkCmdSetLineStippleEXTPtr-  vkCmdSetLineStippleEXT' (commandBufferHandle (commandBuffer)) (lineStippleFactor) (lineStipplePattern)+  traceAroundEvent "vkCmdSetLineStippleEXT" (vkCmdSetLineStippleEXT' (commandBufferHandle (commandBuffer)) (lineStippleFactor) (lineStipplePattern))   pure $ ()  
src/Vulkan/Extensions/VK_EXT_metal_surface.hs view
@@ -104,6 +104,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -226,7 +227,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateMetalSurfaceEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateMetalSurfaceEXT" (vkCreateMetalSurfaceEXT' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_EXT_private_data.hs view
@@ -155,6 +155,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -292,7 +293,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPPrivateDataSlot <- ContT $ bracket (callocBytes @PrivateDataSlotEXT 8) free-  r <- lift $ vkCreatePrivateDataSlotEXT' (deviceHandle (device)) pCreateInfo pAllocator (pPPrivateDataSlot)+  r <- lift $ traceAroundEvent "vkCreatePrivateDataSlotEXT" (vkCreatePrivateDataSlotEXT' (deviceHandle (device)) pCreateInfo pAllocator (pPPrivateDataSlot))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPrivateDataSlot <- lift $ peek @PrivateDataSlotEXT pPPrivateDataSlot   pure $ (pPrivateDataSlot)@@ -380,7 +381,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyPrivateDataSlotEXT' (deviceHandle (device)) (privateDataSlot) pAllocator+  lift $ traceAroundEvent "vkDestroyPrivateDataSlotEXT" (vkDestroyPrivateDataSlotEXT' (deviceHandle (device)) (privateDataSlot) pAllocator)   pure $ ()  @@ -448,7 +449,7 @@   unless (vkSetPrivateDataEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetPrivateDataEXT is null" Nothing Nothing   let vkSetPrivateDataEXT' = mkVkSetPrivateDataEXT vkSetPrivateDataEXTPtr-  r <- vkSetPrivateDataEXT' (deviceHandle (device)) (objectType) (objectHandle) (privateDataSlot) (data')+  r <- traceAroundEvent "vkSetPrivateDataEXT" (vkSetPrivateDataEXT' (deviceHandle (device)) (objectType) (objectHandle) (privateDataSlot) (data'))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -515,7 +516,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPrivateDataEXT is null" Nothing Nothing   let vkGetPrivateDataEXT' = mkVkGetPrivateDataEXT vkGetPrivateDataEXTPtr   pPData <- ContT $ bracket (callocBytes @Word64 8) free-  lift $ vkGetPrivateDataEXT' (deviceHandle (device)) (objectType) (objectHandle) (privateDataSlot) (pPData)+  lift $ traceAroundEvent "vkGetPrivateDataEXT" (vkGetPrivateDataEXT' (deviceHandle (device)) (objectType) (objectHandle) (privateDataSlot) (pPData))   pData <- lift $ peek @Word64 pPData   pure $ (pData) 
src/Vulkan/Extensions/VK_EXT_sample_locations.hs view
@@ -183,6 +183,7 @@                                                   ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -322,7 +323,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetSampleLocationsEXT is null" Nothing Nothing   let vkCmdSetSampleLocationsEXT' = mkVkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXTPtr   pSampleLocationsInfo <- ContT $ withCStruct (sampleLocationsInfo)-  lift $ vkCmdSetSampleLocationsEXT' (commandBufferHandle (commandBuffer)) pSampleLocationsInfo+  lift $ traceAroundEvent "vkCmdSetSampleLocationsEXT" (vkCmdSetSampleLocationsEXT' (commandBufferHandle (commandBuffer)) pSampleLocationsInfo)   pure $ ()  @@ -364,7 +365,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceMultisamplePropertiesEXT is null" Nothing Nothing   let vkGetPhysicalDeviceMultisamplePropertiesEXT' = mkVkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXTPtr   pPMultisampleProperties <- ContT (withZeroCStruct @MultisamplePropertiesEXT)-  lift $ vkGetPhysicalDeviceMultisamplePropertiesEXT' (physicalDeviceHandle (physicalDevice)) (samples) (pPMultisampleProperties)+  lift $ traceAroundEvent "vkGetPhysicalDeviceMultisamplePropertiesEXT" (vkGetPhysicalDeviceMultisamplePropertiesEXT' (physicalDeviceHandle (physicalDevice)) (samples) (pPMultisampleProperties))   pMultisampleProperties <- lift $ peekCStruct @MultisamplePropertiesEXT pPMultisampleProperties   pure $ (pMultisampleProperties) 
src/Vulkan/Extensions/VK_EXT_tooling_info.hs view
@@ -188,6 +188,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -318,12 +319,12 @@   let vkGetPhysicalDeviceToolPropertiesEXT' = mkVkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXTPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPToolCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceToolPropertiesEXT' physicalDevice' (pPToolCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceToolPropertiesEXT" (vkGetPhysicalDeviceToolPropertiesEXT' physicalDevice' (pPToolCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pToolCount <- lift $ peek @Word32 pPToolCount   pPToolProperties <- ContT $ bracket (callocBytes @PhysicalDeviceToolPropertiesEXT ((fromIntegral (pToolCount)) * 1048)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPToolProperties `advancePtrBytes` (i * 1048) :: Ptr PhysicalDeviceToolPropertiesEXT) . ($ ())) [0..(fromIntegral (pToolCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceToolPropertiesEXT' physicalDevice' (pPToolCount) ((pPToolProperties))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceToolPropertiesEXT" (vkGetPhysicalDeviceToolPropertiesEXT' physicalDevice' (pPToolCount) ((pPToolProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pToolCount' <- lift $ peek @Word32 pPToolCount   pToolProperties' <- lift $ generateM (fromIntegral (pToolCount')) (\i -> peekCStruct @PhysicalDeviceToolPropertiesEXT (((pPToolProperties) `advancePtrBytes` (1048 * (i)) :: Ptr PhysicalDeviceToolPropertiesEXT)))
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -252,6 +252,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -480,7 +481,7 @@       pPSizes <- ContT $ allocaBytesAligned @DeviceSize (((Data.Vector.length (sizes))) * 8) 8       lift $ Data.Vector.imapM_ (\i e -> poke (pPSizes `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) ((sizes))       pure $ pPSizes-  lift $ vkCmdBindTransformFeedbackBuffersEXT' (commandBufferHandle (commandBuffer)) (firstBinding) ((fromIntegral pBuffersLength :: Word32)) (pPBuffers) (pPOffsets) pSizes+  lift $ traceAroundEvent "vkCmdBindTransformFeedbackBuffersEXT" (vkCmdBindTransformFeedbackBuffersEXT' (commandBufferHandle (commandBuffer)) (firstBinding) ((fromIntegral pBuffersLength :: Word32)) (pPBuffers) (pPOffsets) pSizes)   pure $ ()  @@ -646,7 +647,7 @@       pPCounterBufferOffsets <- ContT $ allocaBytesAligned @DeviceSize (((Data.Vector.length (counterBufferOffsets))) * 8) 8       lift $ Data.Vector.imapM_ (\i e -> poke (pPCounterBufferOffsets `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) ((counterBufferOffsets))       pure $ pPCounterBufferOffsets-  lift $ vkCmdBeginTransformFeedbackEXT' (commandBufferHandle (commandBuffer)) (firstCounterBuffer) ((fromIntegral pCounterBuffersLength :: Word32)) (pPCounterBuffers) pCounterBufferOffsets+  lift $ traceAroundEvent "vkCmdBeginTransformFeedbackEXT" (vkCmdBeginTransformFeedbackEXT' (commandBufferHandle (commandBuffer)) (firstCounterBuffer) ((fromIntegral pCounterBuffersLength :: Word32)) (pPCounterBuffers) pCounterBufferOffsets)   pure $ ()  -- | This function will call the supplied action between calls to@@ -801,7 +802,7 @@       pPCounterBufferOffsets <- ContT $ allocaBytesAligned @DeviceSize (((Data.Vector.length (counterBufferOffsets))) * 8) 8       lift $ Data.Vector.imapM_ (\i e -> poke (pPCounterBufferOffsets `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) ((counterBufferOffsets))       pure $ pPCounterBufferOffsets-  lift $ vkCmdEndTransformFeedbackEXT' (commandBufferHandle (commandBuffer)) (firstCounterBuffer) ((fromIntegral pCounterBuffersLength :: Word32)) (pPCounterBuffers) pCounterBufferOffsets+  lift $ traceAroundEvent "vkCmdEndTransformFeedbackEXT" (vkCmdEndTransformFeedbackEXT' (commandBufferHandle (commandBuffer)) (firstCounterBuffer) ((fromIntegral pCounterBuffersLength :: Word32)) (pPCounterBuffers) pCounterBufferOffsets)   pure $ ()  @@ -1015,7 +1016,7 @@   unless (vkCmdBeginQueryIndexedEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBeginQueryIndexedEXT is null" Nothing Nothing   let vkCmdBeginQueryIndexedEXT' = mkVkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXTPtr-  vkCmdBeginQueryIndexedEXT' (commandBufferHandle (commandBuffer)) (queryPool) (query) (flags) (index)+  traceAroundEvent "vkCmdBeginQueryIndexedEXT" (vkCmdBeginQueryIndexedEXT' (commandBufferHandle (commandBuffer)) (queryPool) (query) (flags) (index))   pure $ ()  -- | This function will call the supplied action between calls to@@ -1137,7 +1138,7 @@   unless (vkCmdEndQueryIndexedEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdEndQueryIndexedEXT is null" Nothing Nothing   let vkCmdEndQueryIndexedEXT' = mkVkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXTPtr-  vkCmdEndQueryIndexedEXT' (commandBufferHandle (commandBuffer)) (queryPool) (query) (index)+  traceAroundEvent "vkCmdEndQueryIndexedEXT" (vkCmdEndQueryIndexedEXT' (commandBufferHandle (commandBuffer)) (queryPool) (query) (index))   pure $ ()  @@ -1687,7 +1688,7 @@   unless (vkCmdDrawIndirectByteCountEXTPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawIndirectByteCountEXT is null" Nothing Nothing   let vkCmdDrawIndirectByteCountEXT' = mkVkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXTPtr-  vkCmdDrawIndirectByteCountEXT' (commandBufferHandle (commandBuffer)) (instanceCount) (firstInstance) (counterBuffer) (counterBufferOffset) (counterOffset) (vertexStride)+  traceAroundEvent "vkCmdDrawIndirectByteCountEXT" (vkCmdDrawIndirectByteCountEXT' (commandBufferHandle (commandBuffer)) (instanceCount) (firstInstance) (counterBuffer) (counterBufferOffset) (counterOffset) (vertexStride))   pure $ ()  
src/Vulkan/Extensions/VK_EXT_validation_cache.hs view
@@ -142,6 +142,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -309,7 +310,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPValidationCache <- ContT $ bracket (callocBytes @ValidationCacheEXT 8) free-  r <- lift $ vkCreateValidationCacheEXT' (deviceHandle (device)) pCreateInfo pAllocator (pPValidationCache)+  r <- lift $ traceAroundEvent "vkCreateValidationCacheEXT" (vkCreateValidationCacheEXT' (deviceHandle (device)) pCreateInfo pAllocator (pPValidationCache))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pValidationCache <- lift $ peek @ValidationCacheEXT pPValidationCache   pure $ (pValidationCache)@@ -397,7 +398,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyValidationCacheEXT' (deviceHandle (device)) (validationCache) pAllocator+  lift $ traceAroundEvent "vkDestroyValidationCacheEXT" (vkDestroyValidationCacheEXT' (deviceHandle (device)) (validationCache) pAllocator)   pure $ ()  @@ -525,11 +526,11 @@   let vkGetValidationCacheDataEXT' = mkVkGetValidationCacheDataEXT vkGetValidationCacheDataEXTPtr   let device' = deviceHandle (device)   pPDataSize <- ContT $ bracket (callocBytes @CSize 8) free-  r <- lift $ vkGetValidationCacheDataEXT' device' (validationCache) (pPDataSize) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetValidationCacheDataEXT" (vkGetValidationCacheDataEXT' device' (validationCache) (pPDataSize) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDataSize <- lift $ peek @CSize pPDataSize   pPData <- ContT $ bracket (callocBytes @(()) (fromIntegral (((\(CSize a) -> a) pDataSize)))) free-  r' <- lift $ vkGetValidationCacheDataEXT' device' (validationCache) (pPDataSize) (pPData)+  r' <- lift $ traceAroundEvent "vkGetValidationCacheDataEXT" (vkGetValidationCacheDataEXT' device' (validationCache) (pPDataSize) (pPData))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pDataSize'' <- lift $ peek @CSize pPDataSize   pData' <- lift $ packCStringLen  (castPtr @() @CChar pPData, (fromIntegral (((\(CSize a) -> a) pDataSize''))))@@ -620,7 +621,7 @@   let vkMergeValidationCachesEXT' = mkVkMergeValidationCachesEXT vkMergeValidationCachesEXTPtr   pPSrcCaches <- ContT $ allocaBytesAligned @ValidationCacheEXT ((Data.Vector.length (srcCaches)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPSrcCaches `plusPtr` (8 * (i)) :: Ptr ValidationCacheEXT) (e)) (srcCaches)-  r <- lift $ vkMergeValidationCachesEXT' (deviceHandle (device)) (dstCache) ((fromIntegral (Data.Vector.length $ (srcCaches)) :: Word32)) (pPSrcCaches)+  r <- lift $ traceAroundEvent "vkMergeValidationCachesEXT" (vkMergeValidationCachesEXT' (deviceHandle (device)) (dstCache) ((fromIntegral (Data.Vector.length $ (srcCaches)) :: Word32)) (pPSrcCaches))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs view
@@ -104,6 +104,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -228,7 +229,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateImagePipeSurfaceFUCHSIA' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateImagePipeSurfaceFUCHSIA" (vkCreateImagePipeSurfaceFUCHSIA' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs view
@@ -130,6 +130,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -258,7 +259,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateStreamDescriptorSurfaceGGP' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateStreamDescriptorSurfaceGGP" (vkCreateStreamDescriptorSurfaceGGP' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs view
@@ -135,6 +135,7 @@                                                    , SwapchainKHR(..)                                                    ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -252,7 +253,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetRefreshCycleDurationGOOGLE is null" Nothing Nothing   let vkGetRefreshCycleDurationGOOGLE' = mkVkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLEPtr   pPDisplayTimingProperties <- ContT (withZeroCStruct @RefreshCycleDurationGOOGLE)-  r <- lift $ vkGetRefreshCycleDurationGOOGLE' (deviceHandle (device)) (swapchain) (pPDisplayTimingProperties)+  r <- lift $ traceAroundEvent "vkGetRefreshCycleDurationGOOGLE" (vkGetRefreshCycleDurationGOOGLE' (deviceHandle (device)) (swapchain) (pPDisplayTimingProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDisplayTimingProperties <- lift $ peekCStruct @RefreshCycleDurationGOOGLE pPDisplayTimingProperties   pure $ (pDisplayTimingProperties)@@ -349,12 +350,12 @@   let vkGetPastPresentationTimingGOOGLE' = mkVkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLEPtr   let device' = deviceHandle (device)   pPPresentationTimingCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPastPresentationTimingGOOGLE' device' (swapchain) (pPPresentationTimingCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPastPresentationTimingGOOGLE" (vkGetPastPresentationTimingGOOGLE' device' (swapchain) (pPPresentationTimingCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPresentationTimingCount <- lift $ peek @Word32 pPPresentationTimingCount   pPPresentationTimings <- ContT $ bracket (callocBytes @PastPresentationTimingGOOGLE ((fromIntegral (pPresentationTimingCount)) * 40)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPPresentationTimings `advancePtrBytes` (i * 40) :: Ptr PastPresentationTimingGOOGLE) . ($ ())) [0..(fromIntegral (pPresentationTimingCount)) - 1]-  r' <- lift $ vkGetPastPresentationTimingGOOGLE' device' (swapchain) (pPPresentationTimingCount) ((pPPresentationTimings))+  r' <- lift $ traceAroundEvent "vkGetPastPresentationTimingGOOGLE" (vkGetPastPresentationTimingGOOGLE' device' (swapchain) (pPPresentationTimingCount) ((pPPresentationTimings)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPresentationTimingCount' <- lift $ peek @Word32 pPPresentationTimingCount   pPresentationTimings' <- lift $ generateM (fromIntegral (pPresentationTimingCount')) (\i -> peekCStruct @PastPresentationTimingGOOGLE (((pPPresentationTimings) `advancePtrBytes` (40 * (i)) :: Ptr PastPresentationTimingGOOGLE)))
src/Vulkan/Extensions/VK_INTEL_performance_query.hs view
@@ -363,6 +363,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -492,7 +493,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkInitializePerformanceApiINTEL is null" Nothing Nothing   let vkInitializePerformanceApiINTEL' = mkVkInitializePerformanceApiINTEL vkInitializePerformanceApiINTELPtr   pInitializeInfo <- ContT $ withCStruct (initializeInfo)-  r <- lift $ vkInitializePerformanceApiINTEL' (deviceHandle (device)) pInitializeInfo+  r <- lift $ traceAroundEvent "vkInitializePerformanceApiINTEL" (vkInitializePerformanceApiINTEL' (deviceHandle (device)) pInitializeInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -524,7 +525,7 @@   unless (vkUninitializePerformanceApiINTELPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkUninitializePerformanceApiINTEL is null" Nothing Nothing   let vkUninitializePerformanceApiINTEL' = mkVkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTELPtr-  vkUninitializePerformanceApiINTEL' (deviceHandle (device))+  traceAroundEvent "vkUninitializePerformanceApiINTEL" (vkUninitializePerformanceApiINTEL' (deviceHandle (device)))   pure $ ()  @@ -608,7 +609,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetPerformanceMarkerINTEL is null" Nothing Nothing   let vkCmdSetPerformanceMarkerINTEL' = mkVkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTELPtr   pMarkerInfo <- ContT $ withCStruct (markerInfo)-  r <- lift $ vkCmdSetPerformanceMarkerINTEL' (commandBufferHandle (commandBuffer)) pMarkerInfo+  r <- lift $ traceAroundEvent "vkCmdSetPerformanceMarkerINTEL" (vkCmdSetPerformanceMarkerINTEL' (commandBufferHandle (commandBuffer)) pMarkerInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -688,7 +689,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetPerformanceStreamMarkerINTEL is null" Nothing Nothing   let vkCmdSetPerformanceStreamMarkerINTEL' = mkVkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTELPtr   pMarkerInfo <- ContT $ withCStruct (markerInfo)-  r <- lift $ vkCmdSetPerformanceStreamMarkerINTEL' (commandBufferHandle (commandBuffer)) pMarkerInfo+  r <- lift $ traceAroundEvent "vkCmdSetPerformanceStreamMarkerINTEL" (vkCmdSetPerformanceStreamMarkerINTEL' (commandBufferHandle (commandBuffer)) pMarkerInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -775,7 +776,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetPerformanceOverrideINTEL is null" Nothing Nothing   let vkCmdSetPerformanceOverrideINTEL' = mkVkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTELPtr   pOverrideInfo <- ContT $ withCStruct (overrideInfo)-  r <- lift $ vkCmdSetPerformanceOverrideINTEL' (commandBufferHandle (commandBuffer)) pOverrideInfo+  r <- lift $ traceAroundEvent "vkCmdSetPerformanceOverrideINTEL" (vkCmdSetPerformanceOverrideINTEL' (commandBufferHandle (commandBuffer)) pOverrideInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -830,7 +831,7 @@   let vkAcquirePerformanceConfigurationINTEL' = mkVkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTELPtr   pAcquireInfo <- ContT $ withCStruct (acquireInfo)   pPConfiguration <- ContT $ bracket (callocBytes @PerformanceConfigurationINTEL 8) free-  r <- lift $ vkAcquirePerformanceConfigurationINTEL' (deviceHandle (device)) pAcquireInfo (pPConfiguration)+  r <- lift $ traceAroundEvent "vkAcquirePerformanceConfigurationINTEL" (vkAcquirePerformanceConfigurationINTEL' (deviceHandle (device)) pAcquireInfo (pPConfiguration))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pConfiguration <- lift $ peek @PerformanceConfigurationINTEL pPConfiguration   pure $ (pConfiguration)@@ -900,7 +901,7 @@   unless (vkReleasePerformanceConfigurationINTELPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkReleasePerformanceConfigurationINTEL is null" Nothing Nothing   let vkReleasePerformanceConfigurationINTEL' = mkVkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTELPtr-  r <- vkReleasePerformanceConfigurationINTEL' (deviceHandle (device)) (configuration)+  r <- traceAroundEvent "vkReleasePerformanceConfigurationINTEL" (vkReleasePerformanceConfigurationINTEL' (deviceHandle (device)) (configuration))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -964,7 +965,7 @@   unless (vkQueueSetPerformanceConfigurationINTELPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkQueueSetPerformanceConfigurationINTEL is null" Nothing Nothing   let vkQueueSetPerformanceConfigurationINTEL' = mkVkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTELPtr-  r <- vkQueueSetPerformanceConfigurationINTEL' (queueHandle (queue)) (configuration)+  r <- traceAroundEvent "vkQueueSetPerformanceConfigurationINTEL" (vkQueueSetPerformanceConfigurationINTEL' (queueHandle (queue)) (configuration))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -1013,7 +1014,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPerformanceParameterINTEL is null" Nothing Nothing   let vkGetPerformanceParameterINTEL' = mkVkGetPerformanceParameterINTEL vkGetPerformanceParameterINTELPtr   pPValue <- ContT (withZeroCStruct @PerformanceValueINTEL)-  r <- lift $ vkGetPerformanceParameterINTEL' (deviceHandle (device)) (parameter) (pPValue)+  r <- lift $ traceAroundEvent "vkGetPerformanceParameterINTEL" (vkGetPerformanceParameterINTEL' (deviceHandle (device)) (parameter) (pPValue))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pValue <- lift $ peekCStruct @PerformanceValueINTEL pPValue   pure $ (pValue)
src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs view
@@ -1236,6 +1236,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -1444,7 +1445,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyAccelerationStructureKHR' (deviceHandle (device)) (accelerationStructure) pAllocator+  lift $ traceAroundEvent "vkDestroyAccelerationStructureKHR" (vkDestroyAccelerationStructureKHR' (deviceHandle (device)) (accelerationStructure) pAllocator)   pure $ ()  @@ -1538,7 +1539,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyAccelerationStructureKHR is null" Nothing Nothing   let vkCmdCopyAccelerationStructureKHR' = mkVkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHRPtr   pInfo <- ContT $ withCStruct (info)-  lift $ vkCmdCopyAccelerationStructureKHR' (commandBufferHandle (commandBuffer)) pInfo+  lift $ traceAroundEvent "vkCmdCopyAccelerationStructureKHR" (vkCmdCopyAccelerationStructureKHR' (commandBufferHandle (commandBuffer)) pInfo)   pure $ ()  @@ -1647,7 +1648,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCopyAccelerationStructureKHR is null" Nothing Nothing   let vkCopyAccelerationStructureKHR' = mkVkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHRPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkCopyAccelerationStructureKHR' (deviceHandle (device)) (deferredOperation) pInfo+  r <- lift $ traceAroundEvent "vkCopyAccelerationStructureKHR" (vkCopyAccelerationStructureKHR' (deviceHandle (device)) (deferredOperation) pInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -1790,7 +1791,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyAccelerationStructureToMemoryKHR is null" Nothing Nothing   let vkCmdCopyAccelerationStructureToMemoryKHR' = mkVkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHRPtr   pInfo <- ContT $ withCStruct (info)-  lift $ vkCmdCopyAccelerationStructureToMemoryKHR' (commandBufferHandle (commandBuffer)) pInfo+  lift $ traceAroundEvent "vkCmdCopyAccelerationStructureToMemoryKHR" (vkCmdCopyAccelerationStructureToMemoryKHR' (commandBufferHandle (commandBuffer)) pInfo)   pure $ ()  @@ -1905,7 +1906,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCopyAccelerationStructureToMemoryKHR is null" Nothing Nothing   let vkCopyAccelerationStructureToMemoryKHR' = mkVkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHRPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkCopyAccelerationStructureToMemoryKHR' (deviceHandle (device)) (deferredOperation) pInfo+  r <- lift $ traceAroundEvent "vkCopyAccelerationStructureToMemoryKHR" (vkCopyAccelerationStructureToMemoryKHR' (deviceHandle (device)) (deferredOperation) pInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -2023,7 +2024,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyMemoryToAccelerationStructureKHR is null" Nothing Nothing   let vkCmdCopyMemoryToAccelerationStructureKHR' = mkVkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHRPtr   pInfo <- ContT $ withCStruct (info)-  lift $ vkCmdCopyMemoryToAccelerationStructureKHR' (commandBufferHandle (commandBuffer)) pInfo+  lift $ traceAroundEvent "vkCmdCopyMemoryToAccelerationStructureKHR" (vkCmdCopyMemoryToAccelerationStructureKHR' (commandBufferHandle (commandBuffer)) pInfo)   pure $ ()  @@ -2134,7 +2135,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCopyMemoryToAccelerationStructureKHR is null" Nothing Nothing   let vkCopyMemoryToAccelerationStructureKHR' = mkVkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHRPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkCopyMemoryToAccelerationStructureKHR' (deviceHandle (device)) (deferredOperation) pInfo+  r <- lift $ traceAroundEvent "vkCopyMemoryToAccelerationStructureKHR" (vkCopyMemoryToAccelerationStructureKHR' (deviceHandle (device)) (deferredOperation) pInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -2275,7 +2276,7 @@   let vkCmdWriteAccelerationStructuresPropertiesKHR' = mkVkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHRPtr   pPAccelerationStructures <- ContT $ allocaBytesAligned @AccelerationStructureKHR ((Data.Vector.length (accelerationStructures)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPAccelerationStructures `plusPtr` (8 * (i)) :: Ptr AccelerationStructureKHR) (e)) (accelerationStructures)-  lift $ vkCmdWriteAccelerationStructuresPropertiesKHR' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (accelerationStructures)) :: Word32)) (pPAccelerationStructures) (queryType) (queryPool) (firstQuery)+  lift $ traceAroundEvent "vkCmdWriteAccelerationStructuresPropertiesKHR" (vkCmdWriteAccelerationStructuresPropertiesKHR' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (accelerationStructures)) :: Word32)) (pPAccelerationStructures) (queryType) (queryPool) (firstQuery))   pure $ ()  @@ -2424,7 +2425,7 @@   let vkWriteAccelerationStructuresPropertiesKHR' = mkVkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHRPtr   pPAccelerationStructures <- ContT $ allocaBytesAligned @AccelerationStructureKHR ((Data.Vector.length (accelerationStructures)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPAccelerationStructures `plusPtr` (8 * (i)) :: Ptr AccelerationStructureKHR) (e)) (accelerationStructures)-  r <- lift $ vkWriteAccelerationStructuresPropertiesKHR' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (accelerationStructures)) :: Word32)) (pPAccelerationStructures) (queryType) (CSize (dataSize)) (data') (CSize (stride))+  r <- lift $ traceAroundEvent "vkWriteAccelerationStructuresPropertiesKHR" (vkWriteAccelerationStructuresPropertiesKHR' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (accelerationStructures)) :: Word32)) (pPAccelerationStructures) (queryType) (CSize (dataSize)) (data') (CSize (stride)))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -2479,7 +2480,7 @@   let vkGetDeviceAccelerationStructureCompatibilityKHR' = mkVkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHRPtr   pVersionInfo <- ContT $ withCStruct (versionInfo)   pPCompatibility <- ContT $ bracket (callocBytes @AccelerationStructureCompatibilityKHR 4) free-  lift $ vkGetDeviceAccelerationStructureCompatibilityKHR' (deviceHandle (device)) pVersionInfo (pPCompatibility)+  lift $ traceAroundEvent "vkGetDeviceAccelerationStructureCompatibilityKHR" (vkGetDeviceAccelerationStructureCompatibilityKHR' (deviceHandle (device)) pVersionInfo (pPCompatibility))   pCompatibility <- lift $ peek @AccelerationStructureCompatibilityKHR pPCompatibility   pure $ (pCompatibility) @@ -2593,7 +2594,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPAccelerationStructure <- ContT $ bracket (callocBytes @AccelerationStructureKHR 8) free-  r <- lift $ vkCreateAccelerationStructureKHR' (deviceHandle (device)) pCreateInfo pAllocator (pPAccelerationStructure)+  r <- lift $ traceAroundEvent "vkCreateAccelerationStructureKHR" (vkCreateAccelerationStructureKHR' (deviceHandle (device)) pCreateInfo pAllocator (pPAccelerationStructure))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pAccelerationStructure <- lift $ peek @AccelerationStructureKHR pPAccelerationStructure   pure $ (pAccelerationStructure)@@ -3192,7 +3193,7 @@     pPpBuildRangeInfos' <- ContT $ allocaBytesAligned @AccelerationStructureBuildRangeInfoKHR ((Data.Vector.length (e)) * 16) 4     lift $ Data.Vector.imapM_ (\i' e' -> poke (pPpBuildRangeInfos' `plusPtr` (16 * (i')) :: Ptr AccelerationStructureBuildRangeInfoKHR) (e')) (e)     lift $ poke (pPpBuildRangeInfos `plusPtr` (8 * (i)) :: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) (pPpBuildRangeInfos')) (buildRangeInfos)-  lift $ vkCmdBuildAccelerationStructuresKHR' (commandBufferHandle (commandBuffer)) ((fromIntegral pInfosLength :: Word32)) (pPInfos) (pPpBuildRangeInfos)+  lift $ traceAroundEvent "vkCmdBuildAccelerationStructuresKHR" (vkCmdBuildAccelerationStructuresKHR' (commandBufferHandle (commandBuffer)) ((fromIntegral pInfosLength :: Word32)) (pPInfos) (pPpBuildRangeInfos))   pure $ ()  @@ -3821,7 +3822,7 @@     pPpMaxPrimitiveCounts' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (e)) * 4) 4     lift $ Data.Vector.imapM_ (\i' e' -> poke (pPpMaxPrimitiveCounts' `plusPtr` (4 * (i')) :: Ptr Word32) (e')) (e)     lift $ poke (pPpMaxPrimitiveCounts `plusPtr` (8 * (i)) :: Ptr (Ptr Word32)) (pPpMaxPrimitiveCounts')) (maxPrimitiveCounts)-  lift $ vkCmdBuildAccelerationStructuresIndirectKHR' (commandBufferHandle (commandBuffer)) ((fromIntegral pInfosLength :: Word32)) (pPInfos) (pPIndirectDeviceAddresses) (pPIndirectStrides) (pPpMaxPrimitiveCounts)+  lift $ traceAroundEvent "vkCmdBuildAccelerationStructuresIndirectKHR" (vkCmdBuildAccelerationStructuresIndirectKHR' (commandBufferHandle (commandBuffer)) ((fromIntegral pInfosLength :: Word32)) (pPInfos) (pPIndirectDeviceAddresses) (pPIndirectStrides) (pPpMaxPrimitiveCounts))   pure $ ()  @@ -4286,7 +4287,7 @@     pPpBuildRangeInfos' <- ContT $ allocaBytesAligned @AccelerationStructureBuildRangeInfoKHR ((Data.Vector.length (e)) * 16) 4     lift $ Data.Vector.imapM_ (\i' e' -> poke (pPpBuildRangeInfos' `plusPtr` (16 * (i')) :: Ptr AccelerationStructureBuildRangeInfoKHR) (e')) (e)     lift $ poke (pPpBuildRangeInfos `plusPtr` (8 * (i)) :: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) (pPpBuildRangeInfos')) (buildRangeInfos)-  r <- lift $ vkBuildAccelerationStructuresKHR' (deviceHandle (device)) (deferredOperation) ((fromIntegral pInfosLength :: Word32)) (pPInfos) (pPpBuildRangeInfos)+  r <- lift $ traceAroundEvent "vkBuildAccelerationStructuresKHR" (vkBuildAccelerationStructuresKHR' (deviceHandle (device)) (deferredOperation) ((fromIntegral pInfosLength :: Word32)) (pPInfos) (pPpBuildRangeInfos))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -4363,7 +4364,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetAccelerationStructureDeviceAddressKHR is null" Nothing Nothing   let vkGetAccelerationStructureDeviceAddressKHR' = mkVkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHRPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkGetAccelerationStructureDeviceAddressKHR' (deviceHandle (device)) pInfo+  r <- lift $ traceAroundEvent "vkGetAccelerationStructureDeviceAddressKHR" (vkGetAccelerationStructureDeviceAddressKHR' (deviceHandle (device)) pInfo)   pure $ (r)  @@ -4521,7 +4522,7 @@   pPMaxPrimitiveCounts <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (maxPrimitiveCounts)) * 4) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPMaxPrimitiveCounts `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (maxPrimitiveCounts)   pPSizeInfo <- ContT (withZeroCStruct @AccelerationStructureBuildSizesInfoKHR)-  lift $ vkGetAccelerationStructureBuildSizesKHR' (deviceHandle (device)) (buildType) pBuildInfo (pPMaxPrimitiveCounts) (pPSizeInfo)+  lift $ traceAroundEvent "vkGetAccelerationStructureBuildSizesKHR" (vkGetAccelerationStructureBuildSizesKHR' (deviceHandle (device)) (buildType) pBuildInfo (pPMaxPrimitiveCounts) (pPSizeInfo))   pSizeInfo <- lift $ peekCStruct @AccelerationStructureBuildSizesInfoKHR pPSizeInfo   pure $ (pSizeInfo) 
src/Vulkan/Extensions/VK_KHR_android_surface.hs view
@@ -172,6 +172,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -322,7 +323,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateAndroidSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateAndroidSurfaceKHR" (vkCreateAndroidSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_KHR_copy_commands2.hs view
@@ -175,6 +175,7 @@                                                 ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Data.Typeable (eqT)@@ -343,7 +344,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyBuffer2KHR is null" Nothing Nothing   let vkCmdCopyBuffer2KHR' = mkVkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHRPtr   pCopyBufferInfo <- ContT $ withCStruct (copyBufferInfo)-  lift $ vkCmdCopyBuffer2KHR' (commandBufferHandle (commandBuffer)) pCopyBufferInfo+  lift $ traceAroundEvent "vkCmdCopyBuffer2KHR" (vkCmdCopyBuffer2KHR' (commandBufferHandle (commandBuffer)) pCopyBufferInfo)   pure $ ()  @@ -434,7 +435,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyImage2KHR is null" Nothing Nothing   let vkCmdCopyImage2KHR' = mkVkCmdCopyImage2KHR vkCmdCopyImage2KHRPtr   pCopyImageInfo <- ContT $ withCStruct (copyImageInfo)-  lift $ vkCmdCopyImage2KHR' (commandBufferHandle (commandBuffer)) pCopyImageInfo+  lift $ traceAroundEvent "vkCmdCopyImage2KHR" (vkCmdCopyImage2KHR' (commandBufferHandle (commandBuffer)) pCopyImageInfo)   pure $ ()  @@ -524,7 +525,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBlitImage2KHR is null" Nothing Nothing   let vkCmdBlitImage2KHR' = mkVkCmdBlitImage2KHR vkCmdBlitImage2KHRPtr   pBlitImageInfo <- ContT $ withCStruct (blitImageInfo)-  lift $ vkCmdBlitImage2KHR' (commandBufferHandle (commandBuffer)) pBlitImageInfo+  lift $ traceAroundEvent "vkCmdBlitImage2KHR" (vkCmdBlitImage2KHR' (commandBufferHandle (commandBuffer)) pBlitImageInfo)   pure $ ()  @@ -617,7 +618,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyBufferToImage2KHR is null" Nothing Nothing   let vkCmdCopyBufferToImage2KHR' = mkVkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHRPtr   pCopyBufferToImageInfo <- ContT $ withCStruct (copyBufferToImageInfo)-  lift $ vkCmdCopyBufferToImage2KHR' (commandBufferHandle (commandBuffer)) pCopyBufferToImageInfo+  lift $ traceAroundEvent "vkCmdCopyBufferToImage2KHR" (vkCmdCopyBufferToImage2KHR' (commandBufferHandle (commandBuffer)) pCopyBufferToImageInfo)   pure $ ()  @@ -710,7 +711,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyImageToBuffer2KHR is null" Nothing Nothing   let vkCmdCopyImageToBuffer2KHR' = mkVkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHRPtr   pCopyImageToBufferInfo <- ContT $ withCStruct (copyImageToBufferInfo)-  lift $ vkCmdCopyImageToBuffer2KHR' (commandBufferHandle (commandBuffer)) pCopyImageToBufferInfo+  lift $ traceAroundEvent "vkCmdCopyImageToBuffer2KHR" (vkCmdCopyImageToBuffer2KHR' (commandBufferHandle (commandBuffer)) pCopyImageToBufferInfo)   pure $ ()  @@ -800,7 +801,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdResolveImage2KHR is null" Nothing Nothing   let vkCmdResolveImage2KHR' = mkVkCmdResolveImage2KHR vkCmdResolveImage2KHRPtr   pResolveImageInfo <- ContT $ withCStruct (resolveImageInfo)-  lift $ vkCmdResolveImage2KHR' (commandBufferHandle (commandBuffer)) pResolveImageInfo+  lift $ traceAroundEvent "vkCmdResolveImage2KHR" (vkCmdResolveImage2KHR' (commandBufferHandle (commandBuffer)) pResolveImageInfo)   pure $ ()  
src/Vulkan/Extensions/VK_KHR_deferred_host_operations.hs view
@@ -246,6 +246,7 @@                                                           , DeferredOperationKHR(..)                                                           ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -340,7 +341,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPDeferredOperation <- ContT $ bracket (callocBytes @DeferredOperationKHR 8) free-  r <- lift $ vkCreateDeferredOperationKHR' (deviceHandle (device)) pAllocator (pPDeferredOperation)+  r <- lift $ traceAroundEvent "vkCreateDeferredOperationKHR" (vkCreateDeferredOperationKHR' (deviceHandle (device)) pAllocator (pPDeferredOperation))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDeferredOperation <- lift $ peek @DeferredOperationKHR pPDeferredOperation   pure $ (pDeferredOperation)@@ -429,7 +430,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyDeferredOperationKHR' (deviceHandle (device)) (operation) pAllocator+  lift $ traceAroundEvent "vkDestroyDeferredOperationKHR" (vkDestroyDeferredOperationKHR' (deviceHandle (device)) (operation) pAllocator)   pure $ ()  @@ -510,7 +511,7 @@   unless (vkGetDeferredOperationMaxConcurrencyKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeferredOperationMaxConcurrencyKHR is null" Nothing Nothing   let vkGetDeferredOperationMaxConcurrencyKHR' = mkVkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHRPtr-  r <- vkGetDeferredOperationMaxConcurrencyKHR' (deviceHandle (device)) (operation)+  r <- traceAroundEvent "vkGetDeferredOperationMaxConcurrencyKHR" (vkGetDeferredOperationMaxConcurrencyKHR' (deviceHandle (device)) (operation))   pure $ (r)  @@ -572,7 +573,7 @@   unless (vkGetDeferredOperationResultKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeferredOperationResultKHR is null" Nothing Nothing   let vkGetDeferredOperationResultKHR' = mkVkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHRPtr-  r <- vkGetDeferredOperationResultKHR' (deviceHandle (device)) (operation)+  r <- traceAroundEvent "vkGetDeferredOperationResultKHR" (vkGetDeferredOperationResultKHR' (deviceHandle (device)) (operation))   pure $ (r)  @@ -673,7 +674,7 @@   unless (vkDeferredOperationJoinKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkDeferredOperationJoinKHR is null" Nothing Nothing   let vkDeferredOperationJoinKHR' = mkVkDeferredOperationJoinKHR vkDeferredOperationJoinKHRPtr-  r <- vkDeferredOperationJoinKHR' (deviceHandle (device)) (operation)+  r <- traceAroundEvent "vkDeferredOperationJoinKHR" (vkDeferredOperationJoinKHR' (deviceHandle (device)) (operation))   when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) 
src/Vulkan/Extensions/VK_KHR_display.hs view
@@ -548,6 +548,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -706,12 +707,12 @@   let vkGetPhysicalDeviceDisplayPropertiesKHR' = mkVkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceDisplayPropertiesKHR' physicalDevice' (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPropertiesKHR" (vkGetPhysicalDeviceDisplayPropertiesKHR' physicalDevice' (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @DisplayPropertiesKHR ((fromIntegral (pPropertyCount)) * 48)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 48) :: Ptr DisplayPropertiesKHR) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceDisplayPropertiesKHR' physicalDevice' (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPropertiesKHR" (vkGetPhysicalDeviceDisplayPropertiesKHR' physicalDevice' (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @DisplayPropertiesKHR (((pPProperties) `advancePtrBytes` (48 * (i)) :: Ptr DisplayPropertiesKHR)))@@ -783,12 +784,12 @@   let vkGetPhysicalDeviceDisplayPlanePropertiesKHR' = mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceDisplayPlanePropertiesKHR' physicalDevice' (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" (vkGetPhysicalDeviceDisplayPlanePropertiesKHR' physicalDevice' (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @DisplayPlanePropertiesKHR ((fromIntegral (pPropertyCount)) * 16)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 16) :: Ptr DisplayPlanePropertiesKHR) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceDisplayPlanePropertiesKHR' physicalDevice' (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" (vkGetPhysicalDeviceDisplayPlanePropertiesKHR' physicalDevice' (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @DisplayPlanePropertiesKHR (((pPProperties) `advancePtrBytes` (16 * (i)) :: Ptr DisplayPlanePropertiesKHR)))@@ -874,11 +875,11 @@   let vkGetDisplayPlaneSupportedDisplaysKHR' = mkVkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPDisplayCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetDisplayPlaneSupportedDisplaysKHR' physicalDevice' (planeIndex) (pPDisplayCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetDisplayPlaneSupportedDisplaysKHR" (vkGetDisplayPlaneSupportedDisplaysKHR' physicalDevice' (planeIndex) (pPDisplayCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDisplayCount <- lift $ peek @Word32 pPDisplayCount   pPDisplays <- ContT $ bracket (callocBytes @DisplayKHR ((fromIntegral (pDisplayCount)) * 8)) free-  r' <- lift $ vkGetDisplayPlaneSupportedDisplaysKHR' physicalDevice' (planeIndex) (pPDisplayCount) (pPDisplays)+  r' <- lift $ traceAroundEvent "vkGetDisplayPlaneSupportedDisplaysKHR" (vkGetDisplayPlaneSupportedDisplaysKHR' physicalDevice' (planeIndex) (pPDisplayCount) (pPDisplays))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pDisplayCount' <- lift $ peek @Word32 pPDisplayCount   pDisplays' <- lift $ generateM (fromIntegral (pDisplayCount')) (\i -> peek @DisplayKHR ((pPDisplays `advancePtrBytes` (8 * (i)) :: Ptr DisplayKHR)))@@ -962,12 +963,12 @@   let vkGetDisplayModePropertiesKHR' = mkVkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetDisplayModePropertiesKHR' physicalDevice' (display) (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetDisplayModePropertiesKHR" (vkGetDisplayModePropertiesKHR' physicalDevice' (display) (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @DisplayModePropertiesKHR ((fromIntegral (pPropertyCount)) * 24)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 24) :: Ptr DisplayModePropertiesKHR) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkGetDisplayModePropertiesKHR' physicalDevice' (display) (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetDisplayModePropertiesKHR" (vkGetDisplayModePropertiesKHR' physicalDevice' (display) (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @DisplayModePropertiesKHR (((pPProperties) `advancePtrBytes` (24 * (i)) :: Ptr DisplayModePropertiesKHR)))@@ -1055,7 +1056,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPMode <- ContT $ bracket (callocBytes @DisplayModeKHR 8) free-  r <- lift $ vkCreateDisplayModeKHR' (physicalDeviceHandle (physicalDevice)) (display) pCreateInfo pAllocator (pPMode)+  r <- lift $ traceAroundEvent "vkCreateDisplayModeKHR" (vkCreateDisplayModeKHR' (physicalDeviceHandle (physicalDevice)) (display) pCreateInfo pAllocator (pPMode))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pMode <- lift $ peek @DisplayModeKHR pPMode   pure $ (pMode)@@ -1123,7 +1124,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDisplayPlaneCapabilitiesKHR is null" Nothing Nothing   let vkGetDisplayPlaneCapabilitiesKHR' = mkVkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHRPtr   pPCapabilities <- ContT (withZeroCStruct @DisplayPlaneCapabilitiesKHR)-  r <- lift $ vkGetDisplayPlaneCapabilitiesKHR' (physicalDeviceHandle (physicalDevice)) (mode) (planeIndex) (pPCapabilities)+  r <- lift $ traceAroundEvent "vkGetDisplayPlaneCapabilitiesKHR" (vkGetDisplayPlaneCapabilitiesKHR' (physicalDeviceHandle (physicalDevice)) (mode) (planeIndex) (pPCapabilities))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCapabilities <- lift $ peekCStruct @DisplayPlaneCapabilitiesKHR pPCapabilities   pure $ (pCapabilities)@@ -1199,7 +1200,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateDisplayPlaneSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateDisplayPlaneSurfaceKHR" (vkCreateDisplayPlaneSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_KHR_display_swapchain.hs view
@@ -222,6 +222,7 @@                                                    , SwapchainCreateFlagsKHR                                                    ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -404,7 +405,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSwapchains <- ContT $ bracket (callocBytes @SwapchainKHR ((fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) * 8)) free-  r <- lift $ vkCreateSharedSwapchainsKHR' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPSwapchains)+  r <- lift $ traceAroundEvent "vkCreateSharedSwapchainsKHR" (vkCreateSharedSwapchainsKHR' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPSwapchains))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSwapchains <- lift $ generateM (fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) (\i -> peek @SwapchainKHR ((pPSwapchains `advancePtrBytes` (8 * (i)) :: Ptr SwapchainKHR)))   pure $ (pSwapchains)
src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs view
@@ -113,6 +113,7 @@                                                    , pattern KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME                                                    ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -237,7 +238,7 @@   let vkGetFenceFdKHR' = mkVkGetFenceFdKHR vkGetFenceFdKHRPtr   pGetFdInfo <- ContT $ withCStruct (getFdInfo)   pPFd <- ContT $ bracket (callocBytes @CInt 4) free-  r <- lift $ vkGetFenceFdKHR' (deviceHandle (device)) pGetFdInfo (pPFd)+  r <- lift $ traceAroundEvent "vkGetFenceFdKHR" (vkGetFenceFdKHR' (deviceHandle (device)) pGetFdInfo (pPFd))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFd <- lift $ peek @CInt pPFd   pure $ (((\(CInt a) -> a) pFd))@@ -299,7 +300,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkImportFenceFdKHR is null" Nothing Nothing   let vkImportFenceFdKHR' = mkVkImportFenceFdKHR vkImportFenceFdKHRPtr   pImportFenceFdInfo <- ContT $ withCStruct (importFenceFdInfo)-  r <- lift $ vkImportFenceFdKHR' (deviceHandle (device)) pImportFenceFdInfo+  r <- lift $ traceAroundEvent "vkImportFenceFdKHR" (vkImportFenceFdKHR' (deviceHandle (device)) pImportFenceFdInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs view
@@ -137,6 +137,7 @@                                                       , SECURITY_ATTRIBUTES                                                       ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -251,7 +252,7 @@   let vkGetFenceWin32HandleKHR' = mkVkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHRPtr   pGetWin32HandleInfo <- ContT $ withCStruct (getWin32HandleInfo)   pPHandle <- ContT $ bracket (callocBytes @HANDLE 8) free-  r <- lift $ vkGetFenceWin32HandleKHR' (deviceHandle (device)) pGetWin32HandleInfo (pPHandle)+  r <- lift $ traceAroundEvent "vkGetFenceWin32HandleKHR" (vkGetFenceWin32HandleKHR' (deviceHandle (device)) pGetWin32HandleInfo (pPHandle))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pHandle <- lift $ peek @HANDLE pPHandle   pure $ (pHandle)@@ -314,7 +315,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkImportFenceWin32HandleKHR is null" Nothing Nothing   let vkImportFenceWin32HandleKHR' = mkVkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHRPtr   pImportFenceWin32HandleInfo <- ContT $ withCStruct (importFenceWin32HandleInfo)-  r <- lift $ vkImportFenceWin32HandleKHR' (deviceHandle (device)) pImportFenceWin32HandleInfo+  r <- lift $ traceAroundEvent "vkImportFenceWin32HandleKHR" (vkImportFenceWin32HandleKHR' (deviceHandle (device)) pImportFenceWin32HandleInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs view
@@ -135,6 +135,7 @@                                                     , pattern KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME                                                     ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -246,7 +247,7 @@   let vkGetMemoryFdKHR' = mkVkGetMemoryFdKHR vkGetMemoryFdKHRPtr   pGetFdInfo <- ContT $ withCStruct (getFdInfo)   pPFd <- ContT $ bracket (callocBytes @CInt 4) free-  r <- lift $ vkGetMemoryFdKHR' (deviceHandle (device)) pGetFdInfo (pPFd)+  r <- lift $ traceAroundEvent "vkGetMemoryFdKHR" (vkGetMemoryFdKHR' (deviceHandle (device)) pGetFdInfo (pPFd))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFd <- lift $ peek @CInt pPFd   pure $ (((\(CInt a) -> a) pFd))@@ -309,7 +310,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetMemoryFdPropertiesKHR is null" Nothing Nothing   let vkGetMemoryFdPropertiesKHR' = mkVkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHRPtr   pPMemoryFdProperties <- ContT (withZeroCStruct @MemoryFdPropertiesKHR)-  r <- lift $ vkGetMemoryFdPropertiesKHR' (deviceHandle (device)) (handleType) (CInt (fd)) (pPMemoryFdProperties)+  r <- lift $ traceAroundEvent "vkGetMemoryFdPropertiesKHR" (vkGetMemoryFdPropertiesKHR' (deviceHandle (device)) (handleType) (CInt (fd)) (pPMemoryFdProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pMemoryFdProperties <- lift $ peekCStruct @MemoryFdPropertiesKHR pPMemoryFdProperties   pure $ (pMemoryFdProperties)
src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs view
@@ -151,6 +151,7 @@                                                        , SECURITY_ATTRIBUTES                                                        ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -269,7 +270,7 @@   let vkGetMemoryWin32HandleKHR' = mkVkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHRPtr   pGetWin32HandleInfo <- ContT $ withCStruct (getWin32HandleInfo)   pPHandle <- ContT $ bracket (callocBytes @HANDLE 8) free-  r <- lift $ vkGetMemoryWin32HandleKHR' (deviceHandle (device)) pGetWin32HandleInfo (pPHandle)+  r <- lift $ traceAroundEvent "vkGetMemoryWin32HandleKHR" (vkGetMemoryWin32HandleKHR' (deviceHandle (device)) pGetWin32HandleInfo (pPHandle))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pHandle <- lift $ peek @HANDLE pPHandle   pure $ (pHandle)@@ -331,7 +332,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetMemoryWin32HandlePropertiesKHR is null" Nothing Nothing   let vkGetMemoryWin32HandlePropertiesKHR' = mkVkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHRPtr   pPMemoryWin32HandleProperties <- ContT (withZeroCStruct @MemoryWin32HandlePropertiesKHR)-  r <- lift $ vkGetMemoryWin32HandlePropertiesKHR' (deviceHandle (device)) (handleType) (handle) (pPMemoryWin32HandleProperties)+  r <- lift $ traceAroundEvent "vkGetMemoryWin32HandlePropertiesKHR" (vkGetMemoryWin32HandlePropertiesKHR' (deviceHandle (device)) (handleType) (handle) (pPMemoryWin32HandleProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pMemoryWin32HandleProperties <- lift $ peekCStruct @MemoryWin32HandlePropertiesKHR pPMemoryWin32HandleProperties   pure $ (pMemoryWin32HandleProperties)
src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs view
@@ -117,6 +117,7 @@                                                        , pattern KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME                                                        ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -237,7 +238,7 @@   let vkGetSemaphoreFdKHR' = mkVkGetSemaphoreFdKHR vkGetSemaphoreFdKHRPtr   pGetFdInfo <- ContT $ withCStruct (getFdInfo)   pPFd <- ContT $ bracket (callocBytes @CInt 4) free-  r <- lift $ vkGetSemaphoreFdKHR' (deviceHandle (device)) pGetFdInfo (pPFd)+  r <- lift $ traceAroundEvent "vkGetSemaphoreFdKHR" (vkGetSemaphoreFdKHR' (deviceHandle (device)) pGetFdInfo (pPFd))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFd <- lift $ peek @CInt pPFd   pure $ (((\(CInt a) -> a) pFd))@@ -299,7 +300,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkImportSemaphoreFdKHR is null" Nothing Nothing   let vkImportSemaphoreFdKHR' = mkVkImportSemaphoreFdKHR vkImportSemaphoreFdKHRPtr   pImportSemaphoreFdInfo <- ContT $ withCStruct (importSemaphoreFdInfo)-  r <- lift $ vkImportSemaphoreFdKHR' (deviceHandle (device)) pImportSemaphoreFdInfo+  r <- lift $ traceAroundEvent "vkImportSemaphoreFdKHR" (vkImportSemaphoreFdKHR' (deviceHandle (device)) pImportSemaphoreFdInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs view
@@ -162,6 +162,7 @@                                                           , SECURITY_ATTRIBUTES                                                           ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -286,7 +287,7 @@   let vkGetSemaphoreWin32HandleKHR' = mkVkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHRPtr   pGetWin32HandleInfo <- ContT $ withCStruct (getWin32HandleInfo)   pPHandle <- ContT $ bracket (callocBytes @HANDLE 8) free-  r <- lift $ vkGetSemaphoreWin32HandleKHR' (deviceHandle (device)) pGetWin32HandleInfo (pPHandle)+  r <- lift $ traceAroundEvent "vkGetSemaphoreWin32HandleKHR" (vkGetSemaphoreWin32HandleKHR' (deviceHandle (device)) pGetWin32HandleInfo (pPHandle))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pHandle <- lift $ peek @HANDLE pPHandle   pure $ (pHandle)@@ -350,7 +351,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkImportSemaphoreWin32HandleKHR is null" Nothing Nothing   let vkImportSemaphoreWin32HandleKHR' = mkVkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHRPtr   pImportSemaphoreWin32HandleInfo <- ContT $ withCStruct (importSemaphoreWin32HandleInfo)-  r <- lift $ vkImportSemaphoreWin32HandleKHR' (deviceHandle (device)) pImportSemaphoreWin32HandleInfo+  r <- lift $ traceAroundEvent "vkImportSemaphoreWin32HandleKHR" (vkImportSemaphoreWin32HandleKHR' (deviceHandle (device)) pImportSemaphoreWin32HandleInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  
src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs view
@@ -226,6 +226,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -450,7 +451,7 @@     (e0, e1) -> do       poke (pCombinerOps' :: Ptr FragmentShadingRateCombinerOpKHR) (e0)       poke (pCombinerOps' `plusPtr` 4 :: Ptr FragmentShadingRateCombinerOpKHR) (e1)-  lift $ vkCmdSetFragmentShadingRateKHR' (commandBufferHandle (commandBuffer)) pFragmentSize (pCombinerOps)+  lift $ traceAroundEvent "vkCmdSetFragmentShadingRateKHR" (vkCmdSetFragmentShadingRateKHR' (commandBufferHandle (commandBuffer)) pFragmentSize (pCombinerOps))   pure $ ()  @@ -584,12 +585,12 @@   let vkGetPhysicalDeviceFragmentShadingRatesKHR' = mkVkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPFragmentShadingRateCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceFragmentShadingRatesKHR' physicalDevice' (pPFragmentShadingRateCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceFragmentShadingRatesKHR" (vkGetPhysicalDeviceFragmentShadingRatesKHR' physicalDevice' (pPFragmentShadingRateCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pFragmentShadingRateCount <- lift $ peek @Word32 pPFragmentShadingRateCount   pPFragmentShadingRates <- ContT $ bracket (callocBytes @PhysicalDeviceFragmentShadingRateKHR ((fromIntegral (pFragmentShadingRateCount)) * 32)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPFragmentShadingRates `advancePtrBytes` (i * 32) :: Ptr PhysicalDeviceFragmentShadingRateKHR) . ($ ())) [0..(fromIntegral (pFragmentShadingRateCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceFragmentShadingRatesKHR' physicalDevice' (pPFragmentShadingRateCount) ((pPFragmentShadingRates))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceFragmentShadingRatesKHR" (vkGetPhysicalDeviceFragmentShadingRatesKHR' physicalDevice' (pPFragmentShadingRateCount) ((pPFragmentShadingRates)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pFragmentShadingRateCount' <- lift $ peek @Word32 pPFragmentShadingRateCount   pFragmentShadingRates' <- lift $ generateM (fromIntegral (pFragmentShadingRateCount')) (\i -> peekCStruct @PhysicalDeviceFragmentShadingRateKHR (((pPFragmentShadingRates) `advancePtrBytes` (32 * (i)) :: Ptr PhysicalDeviceFragmentShadingRateKHR)))
src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs view
@@ -173,6 +173,7 @@                                                          , SurfaceTransformFlagsKHR                                                          ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -305,12 +306,12 @@   let vkGetPhysicalDeviceDisplayProperties2KHR' = mkVkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceDisplayProperties2KHR' physicalDevice' (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayProperties2KHR" (vkGetPhysicalDeviceDisplayProperties2KHR' physicalDevice' (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @DisplayProperties2KHR ((fromIntegral (pPropertyCount)) * 64)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 64) :: Ptr DisplayProperties2KHR) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceDisplayProperties2KHR' physicalDevice' (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayProperties2KHR" (vkGetPhysicalDeviceDisplayProperties2KHR' physicalDevice' (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @DisplayProperties2KHR (((pPProperties) `advancePtrBytes` (64 * (i)) :: Ptr DisplayProperties2KHR)))@@ -378,12 +379,12 @@   let vkGetPhysicalDeviceDisplayPlaneProperties2KHR' = mkVkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceDisplayPlaneProperties2KHR' physicalDevice' (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" (vkGetPhysicalDeviceDisplayPlaneProperties2KHR' physicalDevice' (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @DisplayPlaneProperties2KHR ((fromIntegral (pPropertyCount)) * 32)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 32) :: Ptr DisplayPlaneProperties2KHR) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceDisplayPlaneProperties2KHR' physicalDevice' (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" (vkGetPhysicalDeviceDisplayPlaneProperties2KHR' physicalDevice' (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @DisplayPlaneProperties2KHR (((pPProperties) `advancePtrBytes` (32 * (i)) :: Ptr DisplayPlaneProperties2KHR)))@@ -459,12 +460,12 @@   let vkGetDisplayModeProperties2KHR' = mkVkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetDisplayModeProperties2KHR' physicalDevice' (display) (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetDisplayModeProperties2KHR" (vkGetDisplayModeProperties2KHR' physicalDevice' (display) (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @DisplayModeProperties2KHR ((fromIntegral (pPropertyCount)) * 40)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 40) :: Ptr DisplayModeProperties2KHR) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkGetDisplayModeProperties2KHR' physicalDevice' (display) (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetDisplayModeProperties2KHR" (vkGetDisplayModeProperties2KHR' physicalDevice' (display) (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @DisplayModeProperties2KHR (((pPProperties) `advancePtrBytes` (40 * (i)) :: Ptr DisplayModeProperties2KHR)))@@ -528,7 +529,7 @@   let vkGetDisplayPlaneCapabilities2KHR' = mkVkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHRPtr   pDisplayPlaneInfo <- ContT $ withCStruct (displayPlaneInfo)   pPCapabilities <- ContT (withZeroCStruct @DisplayPlaneCapabilities2KHR)-  r <- lift $ vkGetDisplayPlaneCapabilities2KHR' (physicalDeviceHandle (physicalDevice)) pDisplayPlaneInfo (pPCapabilities)+  r <- lift $ traceAroundEvent "vkGetDisplayPlaneCapabilities2KHR" (vkGetDisplayPlaneCapabilities2KHR' (physicalDeviceHandle (physicalDevice)) pDisplayPlaneInfo (pPCapabilities))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCapabilities <- lift $ peekCStruct @DisplayPlaneCapabilities2KHR pPCapabilities   pure $ (pCapabilities)
src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs view
@@ -160,6 +160,7 @@                                                            , SurfaceTransformFlagsKHR                                                            ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -317,7 +318,7 @@   let vkGetPhysicalDeviceSurfaceCapabilities2KHR' = mkVkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHRPtr   pSurfaceInfo <- ContT $ withCStruct (surfaceInfo)   pPSurfaceCapabilities <- ContT (withZeroCStruct @(SurfaceCapabilities2KHR _))-  r <- lift $ vkGetPhysicalDeviceSurfaceCapabilities2KHR' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pSurfaceInfo) (forgetExtensions (pPSurfaceCapabilities))+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceCapabilities2KHR" (vkGetPhysicalDeviceSurfaceCapabilities2KHR' (physicalDeviceHandle (physicalDevice)) (forgetExtensions pSurfaceInfo) (forgetExtensions (pPSurfaceCapabilities)))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurfaceCapabilities <- lift $ peekCStruct @(SurfaceCapabilities2KHR _) pPSurfaceCapabilities   pure $ (pSurfaceCapabilities)@@ -421,12 +422,12 @@   pSurfaceInfo <- ContT $ withCStruct (surfaceInfo)   let x9 = forgetExtensions pSurfaceInfo   pPSurfaceFormatCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceSurfaceFormats2KHR' physicalDevice' x9 (pPSurfaceFormatCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceFormats2KHR" (vkGetPhysicalDeviceSurfaceFormats2KHR' physicalDevice' x9 (pPSurfaceFormatCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurfaceFormatCount <- lift $ peek @Word32 pPSurfaceFormatCount   pPSurfaceFormats <- ContT $ bracket (callocBytes @SurfaceFormat2KHR ((fromIntegral (pSurfaceFormatCount)) * 24)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPSurfaceFormats `advancePtrBytes` (i * 24) :: Ptr SurfaceFormat2KHR) . ($ ())) [0..(fromIntegral (pSurfaceFormatCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceSurfaceFormats2KHR' physicalDevice' x9 (pPSurfaceFormatCount) ((pPSurfaceFormats))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceFormats2KHR" (vkGetPhysicalDeviceSurfaceFormats2KHR' physicalDevice' x9 (pPSurfaceFormatCount) ((pPSurfaceFormats)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pSurfaceFormatCount' <- lift $ peek @Word32 pPSurfaceFormatCount   pSurfaceFormats' <- lift $ generateM (fromIntegral (pSurfaceFormatCount')) (\i -> peekCStruct @SurfaceFormat2KHR (((pPSurfaceFormats) `advancePtrBytes` (24 * (i)) :: Ptr SurfaceFormat2KHR)))
src/Vulkan/Extensions/VK_KHR_performance_query.hs view
@@ -535,6 +535,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -706,14 +707,14 @@   let vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR' = mkVkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPCounterCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR' physicalDevice' (queueFamilyIndex) (pPCounterCount) (nullPtr) (nullPtr)+  r <- lift $ traceAroundEvent "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" (vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR' physicalDevice' (queueFamilyIndex) (pPCounterCount) (nullPtr) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCounterCount <- lift $ peek @Word32 pPCounterCount   pPCounters <- ContT $ bracket (callocBytes @PerformanceCounterKHR ((fromIntegral (pCounterCount)) * 48)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPCounters `advancePtrBytes` (i * 48) :: Ptr PerformanceCounterKHR) . ($ ())) [0..(fromIntegral (pCounterCount)) - 1]   pPCounterDescriptions <- ContT $ bracket (callocBytes @PerformanceCounterDescriptionKHR ((fromIntegral (pCounterCount)) * 792)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPCounterDescriptions `advancePtrBytes` (i * 792) :: Ptr PerformanceCounterDescriptionKHR) . ($ ())) [0..(fromIntegral (pCounterCount)) - 1]-  r' <- lift $ vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR' physicalDevice' (queueFamilyIndex) (pPCounterCount) ((pPCounters)) ((pPCounterDescriptions))+  r' <- lift $ traceAroundEvent "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" (vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR' physicalDevice' (queueFamilyIndex) (pPCounterCount) ((pPCounters)) ((pPCounterDescriptions)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pCounterCount' <- lift $ peek @Word32 pPCounterCount   let x33 = pCounterCount'@@ -772,7 +773,7 @@   let vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR' = mkVkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRPtr   pPerformanceQueryCreateInfo <- ContT $ withCStruct (performanceQueryCreateInfo)   pPNumPasses <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR' (physicalDeviceHandle (physicalDevice)) pPerformanceQueryCreateInfo (pPNumPasses)+  lift $ traceAroundEvent "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" (vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR' (physicalDeviceHandle (physicalDevice)) pPerformanceQueryCreateInfo (pPNumPasses))   pNumPasses <- lift $ peek @Word32 pPNumPasses   pure $ (pNumPasses) @@ -826,7 +827,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkAcquireProfilingLockKHR is null" Nothing Nothing   let vkAcquireProfilingLockKHR' = mkVkAcquireProfilingLockKHR vkAcquireProfilingLockKHRPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkAcquireProfilingLockKHR' (deviceHandle (device)) pInfo+  r <- lift $ traceAroundEvent "vkAcquireProfilingLockKHR" (vkAcquireProfilingLockKHR' (deviceHandle (device)) pInfo)   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -863,7 +864,7 @@   unless (vkReleaseProfilingLockKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkReleaseProfilingLockKHR is null" Nothing Nothing   let vkReleaseProfilingLockKHR' = mkVkReleaseProfilingLockKHR vkReleaseProfilingLockKHRPtr-  vkReleaseProfilingLockKHR' (deviceHandle (device))+  traceAroundEvent "vkReleaseProfilingLockKHR" (vkReleaseProfilingLockKHR' (deviceHandle (device)))   pure $ ()  
src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs view
@@ -202,6 +202,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -363,12 +364,12 @@   let device' = deviceHandle (device)   pPipelineInfo <- ContT $ withCStruct (pipelineInfo)   pPExecutableCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPipelineExecutablePropertiesKHR' device' pPipelineInfo (pPExecutableCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPipelineExecutablePropertiesKHR" (vkGetPipelineExecutablePropertiesKHR' device' pPipelineInfo (pPExecutableCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pExecutableCount <- lift $ peek @Word32 pPExecutableCount   pPProperties <- ContT $ bracket (callocBytes @PipelineExecutablePropertiesKHR ((fromIntegral (pExecutableCount)) * 536)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 536) :: Ptr PipelineExecutablePropertiesKHR) . ($ ())) [0..(fromIntegral (pExecutableCount)) - 1]-  r' <- lift $ vkGetPipelineExecutablePropertiesKHR' device' pPipelineInfo (pPExecutableCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetPipelineExecutablePropertiesKHR" (vkGetPipelineExecutablePropertiesKHR' device' pPipelineInfo (pPExecutableCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pExecutableCount' <- lift $ peek @Word32 pPExecutableCount   pProperties' <- lift $ generateM (fromIntegral (pExecutableCount')) (\i -> peekCStruct @PipelineExecutablePropertiesKHR (((pPProperties) `advancePtrBytes` (536 * (i)) :: Ptr PipelineExecutablePropertiesKHR)))@@ -466,12 +467,12 @@   let device' = deviceHandle (device)   pExecutableInfo <- ContT $ withCStruct (executableInfo)   pPStatisticCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPipelineExecutableStatisticsKHR' device' pExecutableInfo (pPStatisticCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPipelineExecutableStatisticsKHR" (vkGetPipelineExecutableStatisticsKHR' device' pExecutableInfo (pPStatisticCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pStatisticCount <- lift $ peek @Word32 pPStatisticCount   pPStatistics <- ContT $ bracket (callocBytes @PipelineExecutableStatisticKHR ((fromIntegral (pStatisticCount)) * 544)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPStatistics `advancePtrBytes` (i * 544) :: Ptr PipelineExecutableStatisticKHR) . ($ ())) [0..(fromIntegral (pStatisticCount)) - 1]-  r' <- lift $ vkGetPipelineExecutableStatisticsKHR' device' pExecutableInfo (pPStatisticCount) ((pPStatistics))+  r' <- lift $ traceAroundEvent "vkGetPipelineExecutableStatisticsKHR" (vkGetPipelineExecutableStatisticsKHR' device' pExecutableInfo (pPStatisticCount) ((pPStatistics)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pStatisticCount' <- lift $ peek @Word32 pPStatisticCount   pStatistics' <- lift $ generateM (fromIntegral (pStatisticCount')) (\i -> peekCStruct @PipelineExecutableStatisticKHR (((pPStatistics) `advancePtrBytes` (544 * (i)) :: Ptr PipelineExecutableStatisticKHR)))@@ -578,12 +579,12 @@   let device' = deviceHandle (device)   pExecutableInfo <- ContT $ withCStruct (executableInfo)   pPInternalRepresentationCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPipelineExecutableInternalRepresentationsKHR' device' pExecutableInfo (pPInternalRepresentationCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPipelineExecutableInternalRepresentationsKHR" (vkGetPipelineExecutableInternalRepresentationsKHR' device' pExecutableInfo (pPInternalRepresentationCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pInternalRepresentationCount <- lift $ peek @Word32 pPInternalRepresentationCount   pPInternalRepresentations <- ContT $ bracket (callocBytes @PipelineExecutableInternalRepresentationKHR ((fromIntegral (pInternalRepresentationCount)) * 552)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPInternalRepresentations `advancePtrBytes` (i * 552) :: Ptr PipelineExecutableInternalRepresentationKHR) . ($ ())) [0..(fromIntegral (pInternalRepresentationCount)) - 1]-  r' <- lift $ vkGetPipelineExecutableInternalRepresentationsKHR' device' pExecutableInfo (pPInternalRepresentationCount) ((pPInternalRepresentations))+  r' <- lift $ traceAroundEvent "vkGetPipelineExecutableInternalRepresentationsKHR" (vkGetPipelineExecutableInternalRepresentationsKHR' device' pExecutableInfo (pPInternalRepresentationCount) ((pPInternalRepresentations)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pInternalRepresentationCount' <- lift $ peek @Word32 pPInternalRepresentationCount   pInternalRepresentations' <- lift $ generateM (fromIntegral (pInternalRepresentationCount')) (\i -> peekCStruct @PipelineExecutableInternalRepresentationKHR (((pPInternalRepresentations) `advancePtrBytes` (552 * (i)) :: Ptr PipelineExecutableInternalRepresentationKHR)))
src/Vulkan/Extensions/VK_KHR_push_descriptor.hs view
@@ -135,6 +135,7 @@                                                  , pattern KHR_PUSH_DESCRIPTOR_EXTENSION_NAME                                                  ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -345,7 +346,7 @@   let vkCmdPushDescriptorSetKHR' = mkVkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHRPtr   pPDescriptorWrites <- ContT $ allocaBytesAligned @(WriteDescriptorSet _) ((Data.Vector.length (descriptorWrites)) * 64) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPDescriptorWrites `plusPtr` (64 * (i)) :: Ptr (WriteDescriptorSet _))) (e) . ($ ())) (descriptorWrites)-  lift $ vkCmdPushDescriptorSetKHR' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (layout) (set) ((fromIntegral (Data.Vector.length $ (descriptorWrites)) :: Word32)) (forgetExtensions (pPDescriptorWrites))+  lift $ traceAroundEvent "vkCmdPushDescriptorSetKHR" (vkCmdPushDescriptorSetKHR' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (layout) (set) ((fromIntegral (Data.Vector.length $ (descriptorWrites)) :: Word32)) (forgetExtensions (pPDescriptorWrites)))   pure $ ()  @@ -497,7 +498,7 @@   unless (vkCmdPushDescriptorSetWithTemplateKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushDescriptorSetWithTemplateKHR is null" Nothing Nothing   let vkCmdPushDescriptorSetWithTemplateKHR' = mkVkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHRPtr-  vkCmdPushDescriptorSetWithTemplateKHR' (commandBufferHandle (commandBuffer)) (descriptorUpdateTemplate) (layout) (set) (data')+  traceAroundEvent "vkCmdPushDescriptorSetWithTemplateKHR" (vkCmdPushDescriptorSetWithTemplateKHR' (commandBufferHandle (commandBuffer)) (descriptorUpdateTemplate) (layout) (set) (data'))   pure $ ()  
src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs view
@@ -289,7 +289,7 @@ -- -- == New or Modified Built-In Variables ----- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIDKHR>+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIdKHR> -- -- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchsize LaunchSizeKHR> --@@ -757,6 +757,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -1249,16 +1250,8 @@ --     /must/ have been created with --     'RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR' ----- -   #VUID-vkCmdTraceRaysKHR-commandBuffer-02712# If @commandBuffer@ is a---     protected command buffer, any resource written to by the---     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind---     point used by this command /must/ not be an unprotected resource------ -   #VUID-vkCmdTraceRaysKHR-commandBuffer-02713# If @commandBuffer@ is a---     protected command buffer, pipeline stages other than the---     framebuffer-space and compute stages in the---     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind---     point /must/ not write to any resource+-- -   #VUID-vkCmdTraceRaysKHR-commandBuffer-04625# @commandBuffer@ /must/+--     not be a protected command buffer -- -- -   #VUID-vkCmdTraceRaysKHR-width-03626# @width@ /must/ be less than or --     equal to@@ -1368,7 +1361,7 @@   pMissShaderBindingTable <- ContT $ withCStruct (missShaderBindingTable)   pHitShaderBindingTable <- ContT $ withCStruct (hitShaderBindingTable)   pCallableShaderBindingTable <- ContT $ withCStruct (callableShaderBindingTable)-  lift $ vkCmdTraceRaysKHR' (commandBufferHandle (commandBuffer)) pRaygenShaderBindingTable pMissShaderBindingTable pHitShaderBindingTable pCallableShaderBindingTable (width) (height) (depth)+  lift $ traceAroundEvent "vkCmdTraceRaysKHR" (vkCmdTraceRaysKHR' (commandBufferHandle (commandBuffer)) pRaygenShaderBindingTable pMissShaderBindingTable pHitShaderBindingTable pCallableShaderBindingTable (width) (height) (depth))   pure $ ()  @@ -1384,6 +1377,9 @@ -- -- == Valid Usage --+-- -   #VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-04619#+--     @pipeline@ /must/ be a ray tracing pipeline+-- -- -   #VUID-vkGetRayTracingShaderGroupHandlesKHR-firstGroup-04050# --     @firstGroup@ /must/ be less than the number of shader groups in --     @pipeline@@@ -1458,7 +1454,7 @@   unless (vkGetRayTracingShaderGroupHandlesKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetRayTracingShaderGroupHandlesKHR is null" Nothing Nothing   let vkGetRayTracingShaderGroupHandlesKHR' = mkVkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHRPtr-  r <- vkGetRayTracingShaderGroupHandlesKHR' (deviceHandle (device)) (pipeline) (firstGroup) (groupCount) (CSize (dataSize)) (data')+  r <- traceAroundEvent "vkGetRayTracingShaderGroupHandlesKHR" (vkGetRayTracingShaderGroupHandlesKHR' (deviceHandle (device)) (pipeline) (firstGroup) (groupCount) (CSize (dataSize)) (data'))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -1474,6 +1470,9 @@ -- -- == Valid Usage --+-- -   #VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-04620#+--     @pipeline@ /must/ be a ray tracing pipeline+-- -- -   #VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-firstGroup-04051# --     @firstGroup@ /must/ be less than the number of shader groups in --     @pipeline@@@ -1550,7 +1549,7 @@   unless (vkGetRayTracingCaptureReplayShaderGroupHandlesKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetRayTracingCaptureReplayShaderGroupHandlesKHR is null" Nothing Nothing   let vkGetRayTracingCaptureReplayShaderGroupHandlesKHR' = mkVkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHRPtr-  r <- vkGetRayTracingCaptureReplayShaderGroupHandlesKHR' (deviceHandle (device)) (pipeline) (firstGroup) (groupCount) (CSize (dataSize)) (data')+  r <- traceAroundEvent "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" (vkGetRayTracingCaptureReplayShaderGroupHandlesKHR' (deviceHandle (device)) (pipeline) (firstGroup) (groupCount) (CSize (dataSize)) (data'))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -1718,7 +1717,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPPipelines <- ContT $ bracket (callocBytes @Pipeline ((fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) * 8)) free-  r <- lift $ vkCreateRayTracingPipelinesKHR' (deviceHandle (device)) (deferredOperation) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines)+  r <- lift $ traceAroundEvent "vkCreateRayTracingPipelinesKHR" (vkCreateRayTracingPipelinesKHR' (deviceHandle (device)) (deferredOperation) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPipelines <- lift $ generateM (fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) (\i -> peek @Pipeline ((pPPipelines `advancePtrBytes` (8 * (i)) :: Ptr Pipeline)))   pure $ (r, pPipelines)@@ -2239,7 +2238,7 @@   pMissShaderBindingTable <- ContT $ withCStruct (missShaderBindingTable)   pHitShaderBindingTable <- ContT $ withCStruct (hitShaderBindingTable)   pCallableShaderBindingTable <- ContT $ withCStruct (callableShaderBindingTable)-  lift $ vkCmdTraceRaysIndirectKHR' (commandBufferHandle (commandBuffer)) pRaygenShaderBindingTable pMissShaderBindingTable pHitShaderBindingTable pCallableShaderBindingTable (indirectDeviceAddress)+  lift $ traceAroundEvent "vkCmdTraceRaysIndirectKHR" (vkCmdTraceRaysIndirectKHR' (commandBufferHandle (commandBuffer)) pRaygenShaderBindingTable pMissShaderBindingTable pHitShaderBindingTable pCallableShaderBindingTable (indirectDeviceAddress))   pure $ ()  @@ -2260,6 +2259,9 @@ -- -- == Valid Usage --+-- -   #VUID-vkGetRayTracingShaderGroupStackSizeKHR-pipeline-04622#+--     @pipeline@ /must/ be a ray tracing pipeline+-- -- -   #VUID-vkGetRayTracingShaderGroupStackSizeKHR-group-03608# The value --     of @group@ must be less than the number of shader groups in --     @pipeline@@@ -2304,7 +2306,7 @@   unless (vkGetRayTracingShaderGroupStackSizeKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetRayTracingShaderGroupStackSizeKHR is null" Nothing Nothing   let vkGetRayTracingShaderGroupStackSizeKHR' = mkVkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHRPtr-  r <- vkGetRayTracingShaderGroupStackSizeKHR' (deviceHandle (device)) (pipeline) (group) (groupShader)+  r <- traceAroundEvent "vkGetRayTracingShaderGroupStackSizeKHR" (vkGetRayTracingShaderGroupStackSizeKHR' (deviceHandle (device)) (pipeline) (group) (groupShader))   pure $ (r)  @@ -2383,7 +2385,7 @@   unless (vkCmdSetRayTracingPipelineStackSizeKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetRayTracingPipelineStackSizeKHR is null" Nothing Nothing   let vkCmdSetRayTracingPipelineStackSizeKHR' = mkVkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHRPtr-  vkCmdSetRayTracingPipelineStackSizeKHR' (commandBufferHandle (commandBuffer)) (pipelineStackSize)+  traceAroundEvent "vkCmdSetRayTracingPipelineStackSizeKHR" (vkCmdSetRayTracingPipelineStackSizeKHR' (commandBufferHandle (commandBuffer)) (pipelineStackSize))   pure $ ()  
src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot view
@@ -289,7 +289,7 @@ -- -- == New or Modified Built-In Variables ----- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIDKHR>+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIdKHR> -- -- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchsize LaunchSizeKHR> --
src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs view
@@ -226,6 +226,7 @@                                                           , PresentModeKHR(..)                                                           ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -329,7 +330,7 @@   unless (vkGetSwapchainStatusKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetSwapchainStatusKHR is null" Nothing Nothing   let vkGetSwapchainStatusKHR' = mkVkGetSwapchainStatusKHR vkGetSwapchainStatusKHRPtr-  r <- vkGetSwapchainStatusKHR' (deviceHandle (device)) (swapchain)+  r <- traceAroundEvent "vkGetSwapchainStatusKHR" (vkGetSwapchainStatusKHR' (deviceHandle (device)) (swapchain))   when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) 
src/Vulkan/Extensions/VK_KHR_surface.hs view
@@ -433,6 +433,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -579,7 +580,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroySurfaceKHR' (instanceHandle (instance')) (surface) pAllocator+  lift $ traceAroundEvent "vkDestroySurfaceKHR" (vkDestroySurfaceKHR' (instanceHandle (instance')) (surface) pAllocator)   pure $ ()  @@ -653,7 +654,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceSurfaceSupportKHR is null" Nothing Nothing   let vkGetPhysicalDeviceSurfaceSupportKHR' = mkVkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHRPtr   pPSupported <- ContT $ bracket (callocBytes @Bool32 4) free-  r <- lift $ vkGetPhysicalDeviceSurfaceSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (surface) (pPSupported)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceSupportKHR" (vkGetPhysicalDeviceSurfaceSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (surface) (pPSupported))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSupported <- lift $ peek @Bool32 pPSupported   pure $ ((bool32ToBool pSupported))@@ -720,7 +721,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceSurfaceCapabilitiesKHR is null" Nothing Nothing   let vkGetPhysicalDeviceSurfaceCapabilitiesKHR' = mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHRPtr   pPSurfaceCapabilities <- ContT (withZeroCStruct @SurfaceCapabilitiesKHR)-  r <- lift $ vkGetPhysicalDeviceSurfaceCapabilitiesKHR' (physicalDeviceHandle (physicalDevice)) (surface) (pPSurfaceCapabilities)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" (vkGetPhysicalDeviceSurfaceCapabilitiesKHR' (physicalDeviceHandle (physicalDevice)) (surface) (pPSurfaceCapabilities))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurfaceCapabilities <- lift $ peekCStruct @SurfaceCapabilitiesKHR pPSurfaceCapabilities   pure $ (pSurfaceCapabilities)@@ -832,12 +833,12 @@   let vkGetPhysicalDeviceSurfaceFormatsKHR' = mkVkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPSurfaceFormatCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceSurfaceFormatsKHR' physicalDevice' (surface) (pPSurfaceFormatCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceFormatsKHR" (vkGetPhysicalDeviceSurfaceFormatsKHR' physicalDevice' (surface) (pPSurfaceFormatCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurfaceFormatCount <- lift $ peek @Word32 pPSurfaceFormatCount   pPSurfaceFormats <- ContT $ bracket (callocBytes @SurfaceFormatKHR ((fromIntegral (pSurfaceFormatCount)) * 8)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPSurfaceFormats `advancePtrBytes` (i * 8) :: Ptr SurfaceFormatKHR) . ($ ())) [0..(fromIntegral (pSurfaceFormatCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceSurfaceFormatsKHR' physicalDevice' (surface) (pPSurfaceFormatCount) ((pPSurfaceFormats))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfaceFormatsKHR" (vkGetPhysicalDeviceSurfaceFormatsKHR' physicalDevice' (surface) (pPSurfaceFormatCount) ((pPSurfaceFormats)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pSurfaceFormatCount' <- lift $ peek @Word32 pPSurfaceFormatCount   pSurfaceFormats' <- lift $ generateM (fromIntegral (pSurfaceFormatCount')) (\i -> peekCStruct @SurfaceFormatKHR (((pPSurfaceFormats) `advancePtrBytes` (8 * (i)) :: Ptr SurfaceFormatKHR)))@@ -928,11 +929,11 @@   let vkGetPhysicalDeviceSurfacePresentModesKHR' = mkVkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPresentModeCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceSurfacePresentModesKHR' physicalDevice' (surface) (pPPresentModeCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfacePresentModesKHR" (vkGetPhysicalDeviceSurfacePresentModesKHR' physicalDevice' (surface) (pPPresentModeCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPresentModeCount <- lift $ peek @Word32 pPPresentModeCount   pPPresentModes <- ContT $ bracket (callocBytes @PresentModeKHR ((fromIntegral (pPresentModeCount)) * 4)) free-  r' <- lift $ vkGetPhysicalDeviceSurfacePresentModesKHR' physicalDevice' (surface) (pPPresentModeCount) (pPPresentModes)+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceSurfacePresentModesKHR" (vkGetPhysicalDeviceSurfacePresentModesKHR' physicalDevice' (surface) (pPPresentModeCount) (pPPresentModes))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPresentModeCount' <- lift $ peek @Word32 pPPresentModeCount   pPresentModes' <- lift $ generateM (fromIntegral (pPresentModeCount')) (\i -> peek @PresentModeKHR ((pPPresentModes `advancePtrBytes` (4 * (i)) :: Ptr PresentModeKHR)))
src/Vulkan/Extensions/VK_KHR_swapchain.hs view
@@ -1124,6 +1124,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -1296,6 +1297,16 @@ -- include the app not being set as high-dpi aware, or if the physical -- device and monitor are not compatible in this mode. --+-- When the 'Vulkan.Extensions.Handles.SurfaceKHR' in+-- 'SwapchainCreateInfoKHR' is a display surface, then the+-- 'Vulkan.Extensions.Handles.DisplayModeKHR' in display surface’s+-- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR' is+-- associated with a particular 'Vulkan.Extensions.Handles.DisplayKHR'.+-- Swapchain creation /may/ fail if that+-- 'Vulkan.Extensions.Handles.DisplayKHR' is not acquired by the+-- application. In this scenario+-- 'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED' is returned.+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCreateSwapchainKHR-device-parameter# @device@ /must/ be a@@ -1368,7 +1379,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSwapchain <- ContT $ bracket (callocBytes @SwapchainKHR 8) free-  r <- lift $ vkCreateSwapchainKHR' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSwapchain)+  r <- lift $ traceAroundEvent "vkCreateSwapchainKHR" (vkCreateSwapchainKHR' (deviceHandle (device)) (forgetExtensions pCreateInfo) pAllocator (pPSwapchain))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSwapchain <- lift $ peek @SwapchainKHR pPSwapchain   pure $ (pSwapchain)@@ -1482,7 +1493,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroySwapchainKHR' (deviceHandle (device)) (swapchain) pAllocator+  lift $ traceAroundEvent "vkDestroySwapchainKHR" (vkDestroySwapchainKHR' (deviceHandle (device)) (swapchain) pAllocator)   pure $ ()  @@ -1565,11 +1576,11 @@   let vkGetSwapchainImagesKHR' = mkVkGetSwapchainImagesKHR vkGetSwapchainImagesKHRPtr   let device' = deviceHandle (device)   pPSwapchainImageCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetSwapchainImagesKHR' device' (swapchain) (pPSwapchainImageCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetSwapchainImagesKHR" (vkGetSwapchainImagesKHR' device' (swapchain) (pPSwapchainImageCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSwapchainImageCount <- lift $ peek @Word32 pPSwapchainImageCount   pPSwapchainImages <- ContT $ bracket (callocBytes @Image ((fromIntegral (pSwapchainImageCount)) * 8)) free-  r' <- lift $ vkGetSwapchainImagesKHR' device' (swapchain) (pPSwapchainImageCount) (pPSwapchainImages)+  r' <- lift $ traceAroundEvent "vkGetSwapchainImagesKHR" (vkGetSwapchainImagesKHR' device' (swapchain) (pPSwapchainImageCount) (pPSwapchainImages))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pSwapchainImageCount' <- lift $ peek @Word32 pPSwapchainImageCount   pSwapchainImages' <- lift $ generateM (fromIntegral (pSwapchainImageCount')) (\i -> peek @Image ((pPSwapchainImages `advancePtrBytes` (8 * (i)) :: Ptr Image)))@@ -1613,7 +1624,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkAcquireNextImageKHR is null" Nothing Nothing   let vkAcquireNextImageKHR' = mkVkAcquireNextImageKHR vkAcquireNextImageKHRPtr   pPImageIndex <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkAcquireNextImageKHR' (deviceHandle (device)) (swapchain) (timeout) (semaphore) (fence) (pPImageIndex)+  r <- lift $ traceAroundEvent "vkAcquireNextImageKHR" (vkAcquireNextImageKHR' (deviceHandle (device)) (swapchain) (timeout) (semaphore) (fence) (pPImageIndex))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pImageIndex <- lift $ peek @Word32 pPImageIndex   pure $ (r, pImageIndex)@@ -1937,7 +1948,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkQueuePresentKHR is null" Nothing Nothing   let vkQueuePresentKHR' = mkVkQueuePresentKHR vkQueuePresentKHRPtr   pPresentInfo <- ContT $ withCStruct (presentInfo)-  r <- lift $ vkQueuePresentKHR' (queueHandle (queue)) (forgetExtensions pPresentInfo)+  r <- lift $ traceAroundEvent "vkQueuePresentKHR" (vkQueuePresentKHR' (queueHandle (queue)) (forgetExtensions pPresentInfo))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pure $ (r) @@ -1981,7 +1992,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceGroupPresentCapabilitiesKHR is null" Nothing Nothing   let vkGetDeviceGroupPresentCapabilitiesKHR' = mkVkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHRPtr   pPDeviceGroupPresentCapabilities <- ContT (withZeroCStruct @DeviceGroupPresentCapabilitiesKHR)-  r <- lift $ vkGetDeviceGroupPresentCapabilitiesKHR' (deviceHandle (device)) (pPDeviceGroupPresentCapabilities)+  r <- lift $ traceAroundEvent "vkGetDeviceGroupPresentCapabilitiesKHR" (vkGetDeviceGroupPresentCapabilitiesKHR' (deviceHandle (device)) (pPDeviceGroupPresentCapabilities))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pDeviceGroupPresentCapabilities <- lift $ peekCStruct @DeviceGroupPresentCapabilitiesKHR pPDeviceGroupPresentCapabilities   pure $ (pDeviceGroupPresentCapabilities)@@ -2056,7 +2067,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceGroupSurfacePresentModesKHR is null" Nothing Nothing   let vkGetDeviceGroupSurfacePresentModesKHR' = mkVkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHRPtr   pPModes <- ContT $ bracket (callocBytes @DeviceGroupPresentModeFlagsKHR 4) free-  r <- lift $ vkGetDeviceGroupSurfacePresentModesKHR' (deviceHandle (device)) (surface) (pPModes)+  r <- lift $ traceAroundEvent "vkGetDeviceGroupSurfacePresentModesKHR" (vkGetDeviceGroupSurfacePresentModesKHR' (deviceHandle (device)) (surface) (pPModes))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pModes <- lift $ peek @DeviceGroupPresentModeFlagsKHR pPModes   pure $ (pModes)@@ -2091,7 +2102,7 @@   let vkAcquireNextImage2KHR' = mkVkAcquireNextImage2KHR vkAcquireNextImage2KHRPtr   pAcquireInfo <- ContT $ withCStruct (acquireInfo)   pPImageIndex <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkAcquireNextImage2KHR' (deviceHandle (device)) pAcquireInfo (pPImageIndex)+  r <- lift $ traceAroundEvent "vkAcquireNextImage2KHR" (vkAcquireNextImage2KHR' (deviceHandle (device)) pAcquireInfo (pPImageIndex))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pImageIndex <- lift $ peek @Word32 pPImageIndex   pure $ (r, pImageIndex)@@ -2262,12 +2273,12 @@   let vkGetPhysicalDevicePresentRectanglesKHR' = mkVkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHRPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPRectCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDevicePresentRectanglesKHR' physicalDevice' (surface) (pPRectCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDevicePresentRectanglesKHR" (vkGetPhysicalDevicePresentRectanglesKHR' physicalDevice' (surface) (pPRectCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pRectCount <- lift $ peek @Word32 pPRectCount   pPRects <- ContT $ bracket (callocBytes @Rect2D ((fromIntegral (pRectCount)) * 16)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPRects `advancePtrBytes` (i * 16) :: Ptr Rect2D) . ($ ())) [0..(fromIntegral (pRectCount)) - 1]-  r' <- lift $ vkGetPhysicalDevicePresentRectanglesKHR' physicalDevice' (surface) (pPRectCount) ((pPRects))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDevicePresentRectanglesKHR" (vkGetPhysicalDevicePresentRectanglesKHR' physicalDevice' (surface) (pPRectCount) ((pPRects)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pRectCount' <- lift $ peek @Word32 pPRectCount   pRects' <- lift $ generateM (fromIntegral (pRectCount')) (\i -> peekCStruct @Rect2D (((pPRects) `advancePtrBytes` (16 * (i)) :: Ptr Rect2D)))
src/Vulkan/Extensions/VK_KHR_wayland_surface.hs view
@@ -201,6 +201,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -331,7 +332,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateWaylandSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateWaylandSurfaceKHR" (vkCreateWaylandSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)@@ -385,7 +386,7 @@   unless (vkGetPhysicalDeviceWaylandPresentationSupportKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceWaylandPresentationSupportKHR is null" Nothing Nothing   let vkGetPhysicalDeviceWaylandPresentationSupportKHR' = mkVkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHRPtr-  r <- vkGetPhysicalDeviceWaylandPresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (display)+  r <- traceAroundEvent "vkGetPhysicalDeviceWaylandPresentationSupportKHR" (vkGetPhysicalDeviceWaylandPresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (display))   pure $ ((bool32ToBool r))  
src/Vulkan/Extensions/VK_KHR_win32_surface.hs view
@@ -227,6 +227,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -356,7 +357,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateWin32SurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateWin32SurfaceKHR" (vkCreateWin32SurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)@@ -404,7 +405,7 @@   unless (vkGetPhysicalDeviceWin32PresentationSupportKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceWin32PresentationSupportKHR is null" Nothing Nothing   let vkGetPhysicalDeviceWin32PresentationSupportKHR' = mkVkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHRPtr-  r <- vkGetPhysicalDeviceWin32PresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex)+  r <- traceAroundEvent "vkGetPhysicalDeviceWin32PresentationSupportKHR" (vkGetPhysicalDeviceWin32PresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex))   pure $ ((bool32ToBool r))  
src/Vulkan/Extensions/VK_KHR_xcb_surface.hs view
@@ -184,6 +184,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -312,7 +313,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateXcbSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateXcbSurfaceKHR" (vkCreateXcbSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)@@ -367,7 +368,7 @@   unless (vkGetPhysicalDeviceXcbPresentationSupportKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceXcbPresentationSupportKHR is null" Nothing Nothing   let vkGetPhysicalDeviceXcbPresentationSupportKHR' = mkVkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHRPtr-  r <- vkGetPhysicalDeviceXcbPresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (connection) (visual_id)+  r <- traceAroundEvent "vkGetPhysicalDeviceXcbPresentationSupportKHR" (vkGetPhysicalDeviceXcbPresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (connection) (visual_id))   pure $ ((bool32ToBool r))  
src/Vulkan/Extensions/VK_KHR_xlib_surface.hs view
@@ -184,6 +184,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -314,7 +315,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateXlibSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateXlibSurfaceKHR" (vkCreateXlibSurfaceKHR' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)@@ -369,7 +370,7 @@   unless (vkGetPhysicalDeviceXlibPresentationSupportKHRPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceXlibPresentationSupportKHR is null" Nothing Nothing   let vkGetPhysicalDeviceXlibPresentationSupportKHR' = mkVkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHRPtr-  r <- vkGetPhysicalDeviceXlibPresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (dpy) (visualID)+  r <- traceAroundEvent "vkGetPhysicalDeviceXlibPresentationSupportKHR" (vkGetPhysicalDeviceXlibPresentationSupportKHR' (physicalDeviceHandle (physicalDevice)) (queueFamilyIndex) (dpy) (visualID))   pure $ ((bool32ToBool r))  
src/Vulkan/Extensions/VK_MVK_ios_surface.hs view
@@ -122,6 +122,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -264,7 +265,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateIOSSurfaceMVK' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateIOSSurfaceMVK" (vkCreateIOSSurfaceMVK' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_MVK_macos_surface.hs view
@@ -122,6 +122,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -267,7 +268,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateMacOSSurfaceMVK' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateMacOSSurfaceMVK" (vkCreateMacOSSurfaceMVK' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_NN_vi_surface.hs view
@@ -121,6 +121,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -259,7 +260,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPSurface <- ContT $ bracket (callocBytes @SurfaceKHR 8) free-  r <- lift $ vkCreateViSurfaceNN' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface)+  r <- lift $ traceAroundEvent "vkCreateViSurfaceNN" (vkCreateViSurfaceNN' (instanceHandle (instance')) pCreateInfo pAllocator (pPSurface))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pSurface <- lift $ peek @SurfaceKHR pPSurface   pure $ (pSurface)
src/Vulkan/Extensions/VK_NVX_image_view_handle.hs view
@@ -101,6 +101,7 @@                                                    , pattern NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME                                                    ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -183,7 +184,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetImageViewHandleNVX is null" Nothing Nothing   let vkGetImageViewHandleNVX' = mkVkGetImageViewHandleNVX vkGetImageViewHandleNVXPtr   pInfo <- ContT $ withCStruct (info)-  r <- lift $ vkGetImageViewHandleNVX' (deviceHandle (device)) pInfo+  r <- lift $ traceAroundEvent "vkGetImageViewHandleNVX" (vkGetImageViewHandleNVX' (deviceHandle (device)) pInfo)   pure $ (r)  @@ -234,7 +235,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetImageViewAddressNVX is null" Nothing Nothing   let vkGetImageViewAddressNVX' = mkVkGetImageViewAddressNVX vkGetImageViewAddressNVXPtr   pPProperties <- ContT (withZeroCStruct @ImageViewAddressPropertiesNVX)-  r <- lift $ vkGetImageViewAddressNVX' (deviceHandle (device)) (imageView) (pPProperties)+  r <- lift $ traceAroundEvent "vkGetImageViewAddressNVX" (vkGetImageViewAddressNVX' (deviceHandle (device)) (imageView) (pPProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pProperties <- lift $ peekCStruct @ImageViewAddressPropertiesNVX pPProperties   pure $ (pProperties)
+ src/Vulkan/Extensions/VK_NV_acquire_winrt_display.hs view
@@ -0,0 +1,382 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_acquire_winrt_display - device extension+--+-- == VK_NV_acquire_winrt_display+--+-- [__Name String__]+--     @VK_NV_acquire_winrt_display@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     346+--+-- [__Revision__]+--     1+--+-- [__Extension and Version Dependencies__]+--+--     -   Requires Vulkan 1.0+--+--     -   Requires @VK_EXT_direct_mode_display@+--+-- [__Contact__]+--+--     -   Jeff Juliano+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_acquire_winrt_display:%20&body=@jjuliano%20 >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2020-09-29+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Jeff Juliano, NVIDIA+--+-- == Description+--+-- This extension allows an application to take exclusive control of a+-- display on Windows 10 provided that the display is not already+-- controlled by a compositor. Examples of compositors include the Windows+-- desktop compositor, other applications using this Vulkan extension, and+-- applications that+-- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displaymanager.tryacquiretarget “Acquire”>+-- a+-- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displaytarget “DisplayTarget”>+-- using a <https://docs.microsoft.com/en-us/uwp/api/ “WinRT”> command such+-- as+-- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displaymanager.tryacquiretarget “winrt::Windows::Devices::Display::Core::DisplayManager.TryAcquireTarget()”>.+--+-- When control is acquired the application has exclusive access to the+-- display until control is released or the application terminates. An+-- application’s attempt to acquire is denied if a different application+-- has already acquired the display.+--+-- == New Commands+--+-- -   'acquireWinrtDisplayNV'+--+-- -   'getWinrtDisplayNV'+--+-- == New Enum Constants+--+-- -   'NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME'+--+-- -   'NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION'+--+-- == Issues+--+-- 1) What should the platform substring be for this extension:+--+-- __RESOLVED__: The platform substring is “Winrt”.+--+-- The substring “Winrt” matches the fact that the OS API exposing the+-- acquire and release functionality is called “WinRT”.+--+-- The substring “Win32” is wrong because the related “WinRT” API is+-- explicitly __not__ a “Win32” API. “WinRT” is a competing API family to+-- the “Win32” API family.+--+-- The substring “Windows” is suboptimal because there could be more than+-- one relevant API on the Windows platform. There is preference to use the+-- more-specific substring “Winrt”.+--+-- 2) Should 'acquireWinrtDisplayNV' take a winRT DisplayTarget, or a+-- Vulkan display handle as input?+--+-- __RESOLVED__: A Vulkan display handle. This matches the design of+-- 'Vulkan.Extensions.VK_EXT_acquire_xlib_display.acquireXlibDisplayEXT'.+--+-- 3) Should the acquire command be platform-independent named+-- “vkAcquireDisplayNV”, or platform-specific named+-- “vkAcquireWinrtDisplayNV”?+--+-- __RESOLVED__: Add a platform-specific command.+--+-- The inputs to the Acquire command are all Vulkan types. None are WinRT+-- types. This opens the possibility of the winrt extension defining a+-- platform-independent acquire command.+--+-- The X11 acquire command does need to accept a platform-specific+-- parameter. This could be handled by adding to a platform-independent+-- acquire command a params struct to which platform-dependent types can be+-- chained by pNext pointer.+--+-- The prevailing opinion is that it would be odd to create a second+-- platform-independent function that is used on the Windows 10 platform,+-- but that is not used for the X11 platform. Since a Windows 10+-- platform-specific command is needed anyway for converting between+-- vkDisplayKHR and platform-native handles, opinion was to create a+-- platform-specific acquire function.+--+-- 4) Should the 'getWinrtDisplayNV' parameter identifying a display be+-- named “deviceRelativeId” or “adapterRelativeId”?+--+-- __RESOLVED__: The WinRT name is “AdapterRelativeId”. The name “adapter”+-- is the Windows analog to a Vulkan “physical device”. Vulkan already has+-- precedent to use the name @deviceLUID@ for the concept that Windows APIs+-- call “AdapterLuid”. Keeping form with this precedent, the name+-- “deviceRelativeId” is chosen.+--+-- 5) Does 'acquireWinrtDisplayNV' cause the Windows desktop compositor to+-- release a display?+--+-- __RESOLVED__: No. 'acquireWinrtDisplayNV' does not itself cause the+-- Windows desktop compositor to release a display. This action must be+-- performed outside of Vulkan.+--+-- Beginning with Windows 10 version 2004 it is possible to cause the+-- Windows desktop compositor to release a display by using the “Advanced+-- display settings” sub-page of the “Display settings” control panel. See+-- <https://docs.microsoft.com/en-us/windows-hardware/drivers/display/specialized-monitors>+--+-- 6) Where can one find additional information about custom compositors+-- for Windows 10?+--+-- __RESOLVED__: Relevant references are as follows.+--+-- According to Microsoft’s documentation on+-- <https://docs.microsoft.com/en-us/windows-hardware/drivers/display/specialized-monitors-compositor \"building a custom compositor\">,+-- the ability to write a custom compositor is not a replacement for a+-- fullscreen desktop window. The feature is for writing compositor apps+-- that drive specialized hardware.+--+-- Only certain editions of Windows 10 support custom compositors,+-- <https://docs.microsoft.com/en-us/windows-hardware/drivers/display/specialized-monitors#windows-10-version-2004 \"documented here\">.+-- The product type can be queried from Windows 10. See+-- <https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getproductinfo>+--+-- == Version History+--+-- -   Revision 1, 2020-09-29 (Jeff Juliano)+--+--     -   Initial draft+--+-- = See Also+--+-- 'acquireWinrtDisplayNV', 'getWinrtDisplayNV'+--+-- = Document Notes+--+-- For more information, see the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_acquire_winrt_display Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_acquire_winrt_display  ( acquireWinrtDisplayNV+                                                      , getWinrtDisplayNV+                                                      , NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION+                                                      , pattern NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION+                                                      , NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME+                                                      , pattern NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME+                                                      , DisplayKHR(..)+                                                      ) where++import Vulkan.Internal.Utils (traceAroundEvent)+import Control.Exception.Base (bracket)+import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Foreign.Marshal.Alloc (callocBytes)+import Foreign.Marshal.Alloc (free)+import GHC.Base (when)+import GHC.IO (throwIO)+import GHC.Ptr (nullFunPtr)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+import Control.Monad.IO.Class (MonadIO)+import Data.String (IsString)+import Foreign.Storable (Storable(peek))+import GHC.IO.Exception (IOErrorType(..))+import GHC.IO.Exception (IOException(..))+import Foreign.Ptr (FunPtr)+import Foreign.Ptr (Ptr)+import Data.Word (Word32)+import Control.Monad.Trans.Cont (ContT(..))+import Vulkan.NamedType ((:::))+import Vulkan.Extensions.Handles (DisplayKHR)+import Vulkan.Extensions.Handles (DisplayKHR(..))+import Vulkan.Dynamic (InstanceCmds(pVkAcquireWinrtDisplayNV))+import Vulkan.Dynamic (InstanceCmds(pVkGetWinrtDisplayNV))+import Vulkan.Core10.Handles (PhysicalDevice)+import Vulkan.Core10.Handles (PhysicalDevice(..))+import Vulkan.Core10.Handles (PhysicalDevice_T)+import Vulkan.Core10.Enums.Result (Result)+import Vulkan.Core10.Enums.Result (Result(..))+import Vulkan.Exception (VulkanException(..))+import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Extensions.Handles (DisplayKHR(..))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkAcquireWinrtDisplayNV+  :: FunPtr (Ptr PhysicalDevice_T -> DisplayKHR -> IO Result) -> Ptr PhysicalDevice_T -> DisplayKHR -> IO Result++-- | vkAcquireWinrtDisplayNV - Acquire access to a VkDisplayKHR+--+-- = Description+--+-- All permissions necessary to control the display are granted to the+-- Vulkan instance associated with @physicalDevice@ until the display is+-- released or the application is terminated. Permission to access the+-- display /may/ be revoked by events that cause Windows 10 itself to lose+-- access to @display@. If this has happened, operations which require+-- access to the display /must/ fail with an appropriate error code. If+-- permission to access @display@ has already been acquired by another+-- entity, the call /must/ return the error code+-- 'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'.+--+-- Note+--+-- The Vulkan instance acquires control of a+-- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displaytarget “winrt::Windows::Devices::Display::Core::DisplayTarget”>+-- by performing an operation equivalent to+-- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displaymanager.tryacquiretarget “winrt::Windows::Devices::Display::Core::DisplayManager.TryAcquireTarget()”>+-- on the “DisplayTarget”.+--+-- Note+--+-- One example of when Windows 10 loses access to a display is when the+-- display is hot-unplugged.+--+-- Note+--+-- One example of when a display has already been acquired by another+-- entity is when the Windows desktop compositor (DWM) is in control of the+-- display. Beginning with Windows 10 version 2004 it is possible to cause+-- DWM to release a display by using the “Advanced display settings”+-- sub-page of the “Display settings” control panel.+-- 'acquireWinrtDisplayNV' does not itself cause DWM to release a display;+-- this action must be performed outside of Vulkan.+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_DEVICE_LOST'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- = See Also+--+-- 'Vulkan.Extensions.Handles.DisplayKHR',+-- 'Vulkan.Core10.Handles.PhysicalDevice'+acquireWinrtDisplayNV :: forall io+                       . (MonadIO io)+                      => -- | @physicalDevice@ The physical device the display is on.+                         --+                         -- #VUID-vkAcquireWinrtDisplayNV-physicalDevice-parameter# @physicalDevice@+                         -- /must/ be a valid 'Vulkan.Core10.Handles.PhysicalDevice' handle+                         PhysicalDevice+                      -> -- | @display@ The display the caller wishes to control in Vulkan.+                         --+                         -- #VUID-vkAcquireWinrtDisplayNV-display-parameter# @display@ /must/ be a+                         -- valid 'Vulkan.Extensions.Handles.DisplayKHR' handle+                         --+                         -- #VUID-vkAcquireWinrtDisplayNV-display-parent# @display@ /must/ have been+                         -- created, allocated, or retrieved from @physicalDevice@+                         DisplayKHR+                      -> io ()+acquireWinrtDisplayNV physicalDevice display = liftIO $ do+  let vkAcquireWinrtDisplayNVPtr = pVkAcquireWinrtDisplayNV (instanceCmds (physicalDevice :: PhysicalDevice))+  unless (vkAcquireWinrtDisplayNVPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkAcquireWinrtDisplayNV is null" Nothing Nothing+  let vkAcquireWinrtDisplayNV' = mkVkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNVPtr+  r <- traceAroundEvent "vkAcquireWinrtDisplayNV" (vkAcquireWinrtDisplayNV' (physicalDeviceHandle (physicalDevice)) (display))+  when (r < SUCCESS) (throwIO (VulkanException r))+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkGetWinrtDisplayNV+  :: FunPtr (Ptr PhysicalDevice_T -> Word32 -> Ptr DisplayKHR -> IO Result) -> Ptr PhysicalDevice_T -> Word32 -> Ptr DisplayKHR -> IO Result++-- | vkGetWinrtDisplayNV - Query the VkDisplayKHR corresponding to a WinRT+-- DisplayTarget+--+-- = Description+--+-- If there is no 'Vulkan.Extensions.Handles.DisplayKHR' corresponding to+-- @deviceRelativeId@ on @physicalDevice@,+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' /must/ be returned in+-- @pDisplay@.+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_DEVICE_LOST'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- = See Also+--+-- 'Vulkan.Extensions.Handles.DisplayKHR',+-- 'Vulkan.Core10.Handles.PhysicalDevice'+getWinrtDisplayNV :: forall io+                   . (MonadIO io)+                  => -- | @physicalDevice@ The physical device on which to query the display+                     -- handle.+                     --+                     -- #VUID-vkGetWinrtDisplayNV-physicalDevice-parameter# @physicalDevice@+                     -- /must/ be a valid 'Vulkan.Core10.Handles.PhysicalDevice' handle+                     PhysicalDevice+                  -> -- | @deviceRelativeId@ The value of the+                     -- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displaytarget.adapterrelativeid “AdapterRelativeId”>+                     -- property of a+                     -- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displaytarget “DisplayTarget”>+                     -- that is enumerated by a+                     -- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displayadapter “DisplayAdapter”>+                     -- with an+                     -- <https://docs.microsoft.com/en-us/uwp/api/windows.devices.display.core.displayadapter.id “Id”>+                     -- property matching the @deviceLUID@ property of a+                     -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties'+                     -- for @physicalDevice@.+                     ("deviceRelativeId" ::: Word32)+                  -> io (DisplayKHR)+getWinrtDisplayNV physicalDevice deviceRelativeId = liftIO . evalContT $ do+  let vkGetWinrtDisplayNVPtr = pVkGetWinrtDisplayNV (instanceCmds (physicalDevice :: PhysicalDevice))+  lift $ unless (vkGetWinrtDisplayNVPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetWinrtDisplayNV is null" Nothing Nothing+  let vkGetWinrtDisplayNV' = mkVkGetWinrtDisplayNV vkGetWinrtDisplayNVPtr+  pPDisplay <- ContT $ bracket (callocBytes @DisplayKHR 8) free+  r <- lift $ traceAroundEvent "vkGetWinrtDisplayNV" (vkGetWinrtDisplayNV' (physicalDeviceHandle (physicalDevice)) (deviceRelativeId) (pPDisplay))+  lift $ when (r < SUCCESS) (throwIO (VulkanException r))+  pDisplay <- lift $ peek @DisplayKHR pPDisplay+  pure $ (pDisplay)+++type NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION"+pattern NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION :: forall a . Integral a => a+pattern NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1+++type NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME = "VK_NV_acquire_winrt_display"++-- No documentation found for TopLevel "VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME"+pattern NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME = "VK_NV_acquire_winrt_display"+
src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs view
@@ -212,6 +212,7 @@                                                      , pattern NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME                                                      ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -343,7 +344,7 @@   let vkCmdSetViewportWScalingNV' = mkVkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNVPtr   pPViewportWScalings <- ContT $ allocaBytesAligned @ViewportWScalingNV ((Data.Vector.length (viewportWScalings)) * 8) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPViewportWScalings `plusPtr` (8 * (i)) :: Ptr ViewportWScalingNV) (e)) (viewportWScalings)-  lift $ vkCmdSetViewportWScalingNV' (commandBufferHandle (commandBuffer)) (firstViewport) ((fromIntegral (Data.Vector.length $ (viewportWScalings)) :: Word32)) (pPViewportWScalings)+  lift $ traceAroundEvent "vkCmdSetViewportWScalingNV" (vkCmdSetViewportWScalingNV' (commandBufferHandle (commandBuffer)) (firstViewport) ((fromIntegral (Data.Vector.length $ (viewportWScalings)) :: Word32)) (pPViewportWScalings))   pure $ ()  
src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs view
@@ -178,6 +178,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -305,12 +306,12 @@   let vkGetPhysicalDeviceCooperativeMatrixPropertiesNV' = mkVkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNVPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPPropertyCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceCooperativeMatrixPropertiesNV' physicalDevice' (pPPropertyCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" (vkGetPhysicalDeviceCooperativeMatrixPropertiesNV' physicalDevice' (pPPropertyCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPropertyCount <- lift $ peek @Word32 pPPropertyCount   pPProperties <- ContT $ bracket (callocBytes @CooperativeMatrixPropertiesNV ((fromIntegral (pPropertyCount)) * 48)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPProperties `advancePtrBytes` (i * 48) :: Ptr CooperativeMatrixPropertiesNV) . ($ ())) [0..(fromIntegral (pPropertyCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceCooperativeMatrixPropertiesNV' physicalDevice' (pPPropertyCount) ((pPProperties))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" (vkGetPhysicalDeviceCooperativeMatrixPropertiesNV' physicalDevice' (pPPropertyCount) ((pPProperties)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pPropertyCount' <- lift $ peek @Word32 pPPropertyCount   pProperties' <- lift $ generateM (fromIntegral (pPropertyCount')) (\i -> peekCStruct @CooperativeMatrixPropertiesNV (((pPProperties) `advancePtrBytes` (48 * (i)) :: Ptr CooperativeMatrixPropertiesNV)))
src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs view
@@ -147,6 +147,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -281,12 +282,12 @@   let vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV' = mkVkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVPtr   let physicalDevice' = physicalDeviceHandle (physicalDevice)   pPCombinationCount <- ContT $ bracket (callocBytes @Word32 4) free-  r <- lift $ vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV' physicalDevice' (pPCombinationCount) (nullPtr)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" (vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV' physicalDevice' (pPCombinationCount) (nullPtr))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pCombinationCount <- lift $ peek @Word32 pPCombinationCount   pPCombinations <- ContT $ bracket (callocBytes @FramebufferMixedSamplesCombinationNV ((fromIntegral (pCombinationCount)) * 32)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPCombinations `advancePtrBytes` (i * 32) :: Ptr FramebufferMixedSamplesCombinationNV) . ($ ())) [0..(fromIntegral (pCombinationCount)) - 1]-  r' <- lift $ vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV' physicalDevice' (pPCombinationCount) ((pPCombinations))+  r' <- lift $ traceAroundEvent "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" (vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV' physicalDevice' (pPCombinationCount) ((pPCombinations)))   lift $ when (r' < SUCCESS) (throwIO (VulkanException r'))   pCombinationCount' <- lift $ peek @Word32 pPCombinationCount   pCombinations' <- lift $ generateM (fromIntegral (pCombinationCount')) (\i -> peekCStruct @FramebufferMixedSamplesCombinationNV (((pPCombinations) `advancePtrBytes` (32 * (i)) :: Ptr FramebufferMixedSamplesCombinationNV)))
src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs view
@@ -114,6 +114,7 @@                                                               , pattern NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME                                                               ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -221,7 +222,7 @@   unless (vkCmdSetCheckpointNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetCheckpointNV is null" Nothing Nothing   let vkCmdSetCheckpointNV' = mkVkCmdSetCheckpointNV vkCmdSetCheckpointNVPtr-  vkCmdSetCheckpointNV' (commandBufferHandle (commandBuffer)) (checkpointMarker)+  traceAroundEvent "vkCmdSetCheckpointNV" (vkCmdSetCheckpointNV' (commandBufferHandle (commandBuffer)) (checkpointMarker))   pure $ ()  @@ -283,11 +284,11 @@   let vkGetQueueCheckpointDataNV' = mkVkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNVPtr   let queue' = queueHandle (queue)   pPCheckpointDataCount <- ContT $ bracket (callocBytes @Word32 4) free-  lift $ vkGetQueueCheckpointDataNV' queue' (pPCheckpointDataCount) (nullPtr)+  lift $ traceAroundEvent "vkGetQueueCheckpointDataNV" (vkGetQueueCheckpointDataNV' queue' (pPCheckpointDataCount) (nullPtr))   pCheckpointDataCount <- lift $ peek @Word32 pPCheckpointDataCount   pPCheckpointData <- ContT $ bracket (callocBytes @CheckpointDataNV ((fromIntegral (pCheckpointDataCount)) * 32)) free   _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPCheckpointData `advancePtrBytes` (i * 32) :: Ptr CheckpointDataNV) . ($ ())) [0..(fromIntegral (pCheckpointDataCount)) - 1]-  lift $ vkGetQueueCheckpointDataNV' queue' (pPCheckpointDataCount) ((pPCheckpointData))+  lift $ traceAroundEvent "vkGetQueueCheckpointDataNV" (vkGetQueueCheckpointDataNV' queue' (pPCheckpointDataCount) ((pPCheckpointData)))   pCheckpointDataCount' <- lift $ peek @Word32 pPCheckpointDataCount   pCheckpointData' <- lift $ generateM (fromIntegral (pCheckpointDataCount')) (\i -> peekCStruct @CheckpointDataNV (((pPCheckpointData) `advancePtrBytes` (32 * (i)) :: Ptr CheckpointDataNV)))   pure $ (pCheckpointData')
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -582,6 +582,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -1204,7 +1205,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdExecuteGeneratedCommandsNV is null" Nothing Nothing   let vkCmdExecuteGeneratedCommandsNV' = mkVkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNVPtr   pGeneratedCommandsInfo <- ContT $ withCStruct (generatedCommandsInfo)-  lift $ vkCmdExecuteGeneratedCommandsNV' (commandBufferHandle (commandBuffer)) (boolToBool32 (isPreprocessed)) pGeneratedCommandsInfo+  lift $ traceAroundEvent "vkCmdExecuteGeneratedCommandsNV" (vkCmdExecuteGeneratedCommandsNV' (commandBufferHandle (commandBuffer)) (boolToBool32 (isPreprocessed)) pGeneratedCommandsInfo)   pure $ ()  @@ -1290,7 +1291,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPreprocessGeneratedCommandsNV is null" Nothing Nothing   let vkCmdPreprocessGeneratedCommandsNV' = mkVkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNVPtr   pGeneratedCommandsInfo <- ContT $ withCStruct (generatedCommandsInfo)-  lift $ vkCmdPreprocessGeneratedCommandsNV' (commandBufferHandle (commandBuffer)) pGeneratedCommandsInfo+  lift $ traceAroundEvent "vkCmdPreprocessGeneratedCommandsNV" (vkCmdPreprocessGeneratedCommandsNV' (commandBufferHandle (commandBuffer)) pGeneratedCommandsInfo)   pure $ ()  @@ -1391,7 +1392,7 @@   unless (vkCmdBindPipelineShaderGroupNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindPipelineShaderGroupNV is null" Nothing Nothing   let vkCmdBindPipelineShaderGroupNV' = mkVkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNVPtr-  vkCmdBindPipelineShaderGroupNV' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (pipeline) (groupIndex)+  traceAroundEvent "vkCmdBindPipelineShaderGroupNV" (vkCmdBindPipelineShaderGroupNV' (commandBufferHandle (commandBuffer)) (pipelineBindPoint) (pipeline) (groupIndex))   pure $ ()  @@ -1447,7 +1448,7 @@   let vkGetGeneratedCommandsMemoryRequirementsNV' = mkVkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNVPtr   pInfo <- ContT $ withCStruct (info)   pPMemoryRequirements <- ContT (withZeroCStruct @(MemoryRequirements2 _))-  lift $ vkGetGeneratedCommandsMemoryRequirementsNV' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements))+  lift $ traceAroundEvent "vkGetGeneratedCommandsMemoryRequirementsNV" (vkGetGeneratedCommandsMemoryRequirementsNV' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements)))   pMemoryRequirements <- lift $ peekCStruct @(MemoryRequirements2 _) pPMemoryRequirements   pure $ (pMemoryRequirements) @@ -1527,7 +1528,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPIndirectCommandsLayout <- ContT $ bracket (callocBytes @IndirectCommandsLayoutNV 8) free-  r <- lift $ vkCreateIndirectCommandsLayoutNV' (deviceHandle (device)) pCreateInfo pAllocator (pPIndirectCommandsLayout)+  r <- lift $ traceAroundEvent "vkCreateIndirectCommandsLayoutNV" (vkCreateIndirectCommandsLayoutNV' (deviceHandle (device)) pCreateInfo pAllocator (pPIndirectCommandsLayout))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pIndirectCommandsLayout <- lift $ peek @IndirectCommandsLayoutNV pPIndirectCommandsLayout   pure $ (pIndirectCommandsLayout)@@ -1625,7 +1626,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyIndirectCommandsLayoutNV' (deviceHandle (device)) (indirectCommandsLayout) pAllocator+  lift $ traceAroundEvent "vkDestroyIndirectCommandsLayoutNV" (vkDestroyIndirectCommandsLayoutNV' (deviceHandle (device)) (indirectCommandsLayout) pAllocator)   pure $ ()  
src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs view
@@ -159,6 +159,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -317,7 +318,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetPhysicalDeviceExternalImageFormatPropertiesNV is null" Nothing Nothing   let vkGetPhysicalDeviceExternalImageFormatPropertiesNV' = mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNVPtr   pPExternalImageFormatProperties <- ContT (withZeroCStruct @ExternalImageFormatPropertiesNV)-  r <- lift $ vkGetPhysicalDeviceExternalImageFormatPropertiesNV' (physicalDeviceHandle (physicalDevice)) (format) (type') (tiling) (usage) (flags) (externalHandleType) (pPExternalImageFormatProperties)+  r <- lift $ traceAroundEvent "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" (vkGetPhysicalDeviceExternalImageFormatPropertiesNV' (physicalDeviceHandle (physicalDevice)) (format) (type') (tiling) (usage) (flags) (externalHandleType) (pPExternalImageFormatProperties))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pExternalImageFormatProperties <- lift $ peekCStruct @ExternalImageFormatPropertiesNV pPExternalImageFormatProperties   pure $ (pExternalImageFormatProperties)
src/Vulkan/Extensions/VK_NV_external_memory_win32.hs view
@@ -289,6 +289,7 @@                                                       , ExternalMemoryHandleTypeFlagsNV                                                       ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -404,7 +405,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetMemoryWin32HandleNV is null" Nothing Nothing   let vkGetMemoryWin32HandleNV' = mkVkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNVPtr   pPHandle <- ContT $ bracket (callocBytes @HANDLE 8) free-  r <- lift $ vkGetMemoryWin32HandleNV' (deviceHandle (device)) (memory) (handleType) (pPHandle)+  r <- lift $ traceAroundEvent "vkGetMemoryWin32HandleNV" (vkGetMemoryWin32HandleNV' (deviceHandle (device)) (memory) (handleType) (pPHandle))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pHandle <- lift $ peek @HANDLE pPHandle   pure $ (pHandle)
src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs view
@@ -205,6 +205,7 @@ import Vulkan.CStruct.Utils (FixedArray) import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -397,7 +398,7 @@     (e0, e1) -> do       poke (pCombinerOps' :: Ptr FragmentShadingRateCombinerOpKHR) (e0)       poke (pCombinerOps' `plusPtr` 4 :: Ptr FragmentShadingRateCombinerOpKHR) (e1)-  lift $ vkCmdSetFragmentShadingRateEnumNV' (commandBufferHandle (commandBuffer)) (shadingRate) (pCombinerOps)+  lift $ traceAroundEvent "vkCmdSetFragmentShadingRateEnumNV" (vkCmdSetFragmentShadingRateEnumNV' (commandBufferHandle (commandBuffer)) (shadingRate) (pCombinerOps))   pure $ ()  
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -268,6 +268,7 @@                                             ) where  import Vulkan.CStruct.Utils (FixedArray)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -779,7 +780,7 @@   unless (vkCmdDrawMeshTasksNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawMeshTasksNV is null" Nothing Nothing   let vkCmdDrawMeshTasksNV' = mkVkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNVPtr-  vkCmdDrawMeshTasksNV' (commandBufferHandle (commandBuffer)) (taskCount) (firstTask)+  traceAroundEvent "vkCmdDrawMeshTasksNV" (vkCmdDrawMeshTasksNV' (commandBufferHandle (commandBuffer)) (taskCount) (firstTask))   pure $ ()  @@ -1306,7 +1307,7 @@   unless (vkCmdDrawMeshTasksIndirectNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawMeshTasksIndirectNV is null" Nothing Nothing   let vkCmdDrawMeshTasksIndirectNV' = mkVkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNVPtr-  vkCmdDrawMeshTasksIndirectNV' (commandBufferHandle (commandBuffer)) (buffer) (offset) (drawCount) (stride)+  traceAroundEvent "vkCmdDrawMeshTasksIndirectNV" (vkCmdDrawMeshTasksIndirectNV' (commandBufferHandle (commandBuffer)) (buffer) (offset) (drawCount) (stride))   pure $ ()  @@ -1865,7 +1866,7 @@   unless (vkCmdDrawMeshTasksIndirectCountNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDrawMeshTasksIndirectCountNV is null" Nothing Nothing   let vkCmdDrawMeshTasksIndirectCountNV' = mkVkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNVPtr-  vkCmdDrawMeshTasksIndirectCountNV' (commandBufferHandle (commandBuffer)) (buffer) (offset) (countBuffer) (countBufferOffset) (maxDrawCount) (stride)+  traceAroundEvent "vkCmdDrawMeshTasksIndirectCountNV" (vkCmdDrawMeshTasksIndirectCountNV' (commandBufferHandle (commandBuffer)) (buffer) (offset) (countBuffer) (countBufferOffset) (maxDrawCount) (stride))   pure $ ()  
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -347,7 +347,7 @@ -- -- == New or Modified Built-In Variables ----- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIDNV>+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIdNV> -- -- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchsize LaunchSizeNV> --@@ -570,6 +570,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO)@@ -816,6 +817,9 @@                      Device                   -> -- | @pipeline@ is the ray tracing pipeline object containing the shaders.                      --+                     -- #VUID-vkCompileDeferredNV-pipeline-04621# @pipeline@ /must/ be a ray+                     -- tracing pipeline+                     --                      -- #VUID-vkCompileDeferredNV-pipeline-02237# @pipeline@ /must/ have been                      -- created with                      -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DEFER_COMPILE_BIT_NV'@@ -837,7 +841,7 @@   unless (vkCompileDeferredNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCompileDeferredNV is null" Nothing Nothing   let vkCompileDeferredNV' = mkVkCompileDeferredNV vkCompileDeferredNVPtr-  r <- vkCompileDeferredNV' (deviceHandle (device)) (pipeline) (shader)+  r <- traceAroundEvent "vkCompileDeferredNV" (vkCompileDeferredNV' (deviceHandle (device)) (pipeline) (shader))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -920,7 +924,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPAccelerationStructure <- ContT $ bracket (callocBytes @AccelerationStructureNV 8) free-  r <- lift $ vkCreateAccelerationStructureNV' (deviceHandle (device)) pCreateInfo pAllocator (pPAccelerationStructure)+  r <- lift $ traceAroundEvent "vkCreateAccelerationStructureNV" (vkCreateAccelerationStructureNV' (deviceHandle (device)) pCreateInfo pAllocator (pPAccelerationStructure))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pAccelerationStructure <- lift $ peek @AccelerationStructureNV pPAccelerationStructure   pure $ (pAccelerationStructure)@@ -1014,7 +1018,7 @@   pAllocator <- case (allocator) of     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)-  lift $ vkDestroyAccelerationStructureNV' (deviceHandle (device)) (accelerationStructure) pAllocator+  lift $ traceAroundEvent "vkDestroyAccelerationStructureNV" (vkDestroyAccelerationStructureNV' (deviceHandle (device)) (accelerationStructure) pAllocator)   pure $ ()  @@ -1058,7 +1062,7 @@   let vkGetAccelerationStructureMemoryRequirementsNV' = mkVkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNVPtr   pInfo <- ContT $ withCStruct (info)   pPMemoryRequirements <- ContT (withZeroCStruct @(MemoryRequirements2KHR _))-  lift $ vkGetAccelerationStructureMemoryRequirementsNV' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements))+  lift $ traceAroundEvent "vkGetAccelerationStructureMemoryRequirementsNV" (vkGetAccelerationStructureMemoryRequirementsNV' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements)))   pMemoryRequirements <- lift $ peekCStruct @(MemoryRequirements2KHR _) pPMemoryRequirements   pure $ (pMemoryRequirements) @@ -1111,7 +1115,7 @@   let vkBindAccelerationStructureMemoryNV' = mkVkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNVPtr   pPBindInfos <- ContT $ allocaBytesAligned @BindAccelerationStructureMemoryInfoNV ((Data.Vector.length (bindInfos)) * 56) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPBindInfos `plusPtr` (56 * (i)) :: Ptr BindAccelerationStructureMemoryInfoNV) (e) . ($ ())) (bindInfos)-  r <- lift $ vkBindAccelerationStructureMemoryNV' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (bindInfos)) :: Word32)) (pPBindInfos)+  r <- lift $ traceAroundEvent "vkBindAccelerationStructureMemoryNV" (vkBindAccelerationStructureMemoryNV' (deviceHandle (device)) ((fromIntegral (Data.Vector.length $ (bindInfos)) :: Word32)) (pPBindInfos))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))  @@ -1233,7 +1237,7 @@   unless (vkCmdCopyAccelerationStructureNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyAccelerationStructureNV is null" Nothing Nothing   let vkCmdCopyAccelerationStructureNV' = mkVkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNVPtr-  vkCmdCopyAccelerationStructureNV' (commandBufferHandle (commandBuffer)) (dst) (src) (mode)+  traceAroundEvent "vkCmdCopyAccelerationStructureNV" (vkCmdCopyAccelerationStructureNV' (commandBufferHandle (commandBuffer)) (dst) (src) (mode))   pure $ ()  @@ -1374,7 +1378,7 @@   let vkCmdWriteAccelerationStructuresPropertiesNV' = mkVkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNVPtr   pPAccelerationStructures <- ContT $ allocaBytesAligned @AccelerationStructureNV ((Data.Vector.length (accelerationStructures)) * 8) 8   lift $ Data.Vector.imapM_ (\i e -> poke (pPAccelerationStructures `plusPtr` (8 * (i)) :: Ptr AccelerationStructureNV) (e)) (accelerationStructures)-  lift $ vkCmdWriteAccelerationStructuresPropertiesNV' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (accelerationStructures)) :: Word32)) (pPAccelerationStructures) (queryType) (queryPool) (firstQuery)+  lift $ traceAroundEvent "vkCmdWriteAccelerationStructuresPropertiesNV" (vkCmdWriteAccelerationStructuresPropertiesNV' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (accelerationStructures)) :: Word32)) (pPAccelerationStructures) (queryType) (queryPool) (firstQuery))   pure $ ()  @@ -1585,7 +1589,7 @@     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBuildAccelerationStructureNV is null" Nothing Nothing   let vkCmdBuildAccelerationStructureNV' = mkVkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNVPtr   pInfo <- ContT $ withCStruct (info)-  lift $ vkCmdBuildAccelerationStructureNV' (commandBufferHandle (commandBuffer)) pInfo (instanceData) (instanceOffset) (boolToBool32 (update)) (dst) (src) (scratch) (scratchOffset)+  lift $ traceAroundEvent "vkCmdBuildAccelerationStructureNV" (vkCmdBuildAccelerationStructureNV' (commandBufferHandle (commandBuffer)) pInfo (instanceData) (instanceOffset) (boolToBool32 (update)) (dst) (src) (scratch) (scratchOffset))   pure $ ()  @@ -1817,16 +1821,8 @@ --     referenced by this call /must/ have been queried from the currently --     bound ray tracing shader pipeline ----- -   #VUID-vkCmdTraceRaysNV-commandBuffer-02712# If @commandBuffer@ is a---     protected command buffer, any resource written to by the---     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind---     point used by this command /must/ not be an unprotected resource------ -   #VUID-vkCmdTraceRaysNV-commandBuffer-02713# If @commandBuffer@ is a---     protected command buffer, pipeline stages other than the---     framebuffer-space and compute stages in the---     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind---     point /must/ not write to any resource+-- -   #VUID-vkCmdTraceRaysNV-commandBuffer-04624# @commandBuffer@ /must/+--     not be a protected command buffer -- -- -   #VUID-vkCmdTraceRaysNV-maxRecursionDepth-03625# This command /must/ --     not cause a trace ray instruction to be executed from a shader@@ -2044,7 +2040,7 @@   unless (vkCmdTraceRaysNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdTraceRaysNV is null" Nothing Nothing   let vkCmdTraceRaysNV' = mkVkCmdTraceRaysNV vkCmdTraceRaysNVPtr-  vkCmdTraceRaysNV' (commandBufferHandle (commandBuffer)) (raygenShaderBindingTableBuffer) (raygenShaderBindingOffset) (missShaderBindingTableBuffer) (missShaderBindingOffset) (missShaderBindingStride) (hitShaderBindingTableBuffer) (hitShaderBindingOffset) (hitShaderBindingStride) (callableShaderBindingTableBuffer) (callableShaderBindingOffset) (callableShaderBindingStride) (width) (height) (depth)+  traceAroundEvent "vkCmdTraceRaysNV" (vkCmdTraceRaysNV' (commandBufferHandle (commandBuffer)) (raygenShaderBindingTableBuffer) (raygenShaderBindingOffset) (missShaderBindingTableBuffer) (missShaderBindingOffset) (missShaderBindingStride) (hitShaderBindingTableBuffer) (hitShaderBindingOffset) (hitShaderBindingStride) (callableShaderBindingTableBuffer) (callableShaderBindingOffset) (callableShaderBindingStride) (width) (height) (depth))   pure $ ()  @@ -2117,7 +2113,7 @@   unless (vkGetAccelerationStructureHandleNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetAccelerationStructureHandleNV is null" Nothing Nothing   let vkGetAccelerationStructureHandleNV' = mkVkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNVPtr-  r <- vkGetAccelerationStructureHandleNV' (deviceHandle (device)) (accelerationStructure) (CSize (dataSize)) (data')+  r <- traceAroundEvent "vkGetAccelerationStructureHandleNV" (vkGetAccelerationStructureHandleNV' (deviceHandle (device)) (accelerationStructure) (CSize (dataSize)) (data'))   when (r < SUCCESS) (throwIO (VulkanException r))  @@ -2238,7 +2234,7 @@     Nothing -> pure nullPtr     Just j -> ContT $ withCStruct (j)   pPPipelines <- ContT $ bracket (callocBytes @Pipeline ((fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) * 8)) free-  r <- lift $ vkCreateRayTracingPipelinesNV' (deviceHandle (device)) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines)+  r <- lift $ traceAroundEvent "vkCreateRayTracingPipelinesNV" (vkCreateRayTracingPipelinesNV' (deviceHandle (device)) (pipelineCache) ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32)) (forgetExtensions (pPCreateInfos)) pAllocator (pPPipelines))   lift $ when (r < SUCCESS) (throwIO (VulkanException r))   pPipelines <- lift $ generateM (fromIntegral ((fromIntegral (Data.Vector.length $ (createInfos)) :: Word32))) (\i -> peek @Pipeline ((pPPipelines `advancePtrBytes` (8 * (i)) :: Ptr Pipeline)))   pure $ (r, pPipelines)@@ -3285,6 +3281,9 @@ --     'ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV' then the --     @geometryType@ member of each geometry in @pGeometries@ /must/ be --     the same+--+-- -   #VUID-VkAccelerationStructureInfoNV-type-04623# @type@ /must/ not be+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR' -- -- -   #VUID-VkAccelerationStructureInfoNV-flags-02592# If @flags@ has the --     'BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV' bit set,
src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot view
@@ -347,7 +347,7 @@ -- -- == New or Modified Built-In Variables ----- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIDNV>+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIdNV> -- -- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-launchsize LaunchSizeNV> --
src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs view
@@ -130,6 +130,7 @@                                                   , pattern NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME                                                   ) where +import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -296,7 +297,7 @@   let vkCmdSetExclusiveScissorNV' = mkVkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNVPtr   pPExclusiveScissors <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (exclusiveScissors)) * 16) 4   lift $ Data.Vector.imapM_ (\i e -> poke (pPExclusiveScissors `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (exclusiveScissors)-  lift $ vkCmdSetExclusiveScissorNV' (commandBufferHandle (commandBuffer)) (firstExclusiveScissor) ((fromIntegral (Data.Vector.length $ (exclusiveScissors)) :: Word32)) (pPExclusiveScissors)+  lift $ traceAroundEvent "vkCmdSetExclusiveScissorNV" (vkCmdSetExclusiveScissorNV' (commandBufferHandle (commandBuffer)) (firstExclusiveScissor) ((fromIntegral (Data.Vector.length $ (exclusiveScissors)) :: Word32)) (pPExclusiveScissors))   pure $ ()  
src/Vulkan/Extensions/VK_NV_shading_rate_image.hs view
@@ -312,6 +312,7 @@  import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -484,7 +485,7 @@   unless (vkCmdBindShadingRateImageNVPtr /= nullFunPtr) $     throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindShadingRateImageNV is null" Nothing Nothing   let vkCmdBindShadingRateImageNV' = mkVkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNVPtr-  vkCmdBindShadingRateImageNV' (commandBufferHandle (commandBuffer)) (imageView) (imageLayout)+  traceAroundEvent "vkCmdBindShadingRateImageNV" (vkCmdBindShadingRateImageNV' (commandBufferHandle (commandBuffer)) (imageView) (imageLayout))   pure $ ()  @@ -581,7 +582,7 @@   let vkCmdSetViewportShadingRatePaletteNV' = mkVkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNVPtr   pPShadingRatePalettes <- ContT $ allocaBytesAligned @ShadingRatePaletteNV ((Data.Vector.length (shadingRatePalettes)) * 16) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPShadingRatePalettes `plusPtr` (16 * (i)) :: Ptr ShadingRatePaletteNV) (e) . ($ ())) (shadingRatePalettes)-  lift $ vkCmdSetViewportShadingRatePaletteNV' (commandBufferHandle (commandBuffer)) (firstViewport) ((fromIntegral (Data.Vector.length $ (shadingRatePalettes)) :: Word32)) (pPShadingRatePalettes)+  lift $ traceAroundEvent "vkCmdSetViewportShadingRatePaletteNV" (vkCmdSetViewportShadingRatePaletteNV' (commandBufferHandle (commandBuffer)) (firstViewport) ((fromIntegral (Data.Vector.length $ (shadingRatePalettes)) :: Word32)) (pPShadingRatePalettes))   pure $ ()  @@ -677,7 +678,7 @@   let vkCmdSetCoarseSampleOrderNV' = mkVkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNVPtr   pPCustomSampleOrders <- ContT $ allocaBytesAligned @CoarseSampleOrderCustomNV ((Data.Vector.length (customSampleOrders)) * 24) 8   Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPCustomSampleOrders `plusPtr` (24 * (i)) :: Ptr CoarseSampleOrderCustomNV) (e) . ($ ())) (customSampleOrders)-  lift $ vkCmdSetCoarseSampleOrderNV' (commandBufferHandle (commandBuffer)) (sampleOrderType) ((fromIntegral (Data.Vector.length $ (customSampleOrders)) :: Word32)) (pPCustomSampleOrders)+  lift $ traceAroundEvent "vkCmdSetCoarseSampleOrderNV" (vkCmdSetCoarseSampleOrderNV' (commandBufferHandle (commandBuffer)) (sampleOrderType) ((fromIntegral (Data.Vector.length $ (customSampleOrders)) :: Word32)) (pPCustomSampleOrders))   pure $ ()  
+ src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs view
@@ -0,0 +1,461 @@+{-# language CPP #-}+-- | = Name+--+-- VK_VALVE_mutable_descriptor_type - device extension+--+-- == VK_VALVE_mutable_descriptor_type+--+-- [__Name String__]+--     @VK_VALVE_mutable_descriptor_type@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     352+--+-- [__Revision__]+--     1+--+-- [__Extension and Version Dependencies__]+--+--     -   Requires Vulkan 1.0+--+--     -   Requires @VK_KHR_maintenance3@+--+-- [__Special Use__]+--+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse D3D support>+--+-- [__Contact__]+--+--     -   Joshua Ashton+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@Joshua-Ashton%20 >+--+--     -   Hans-Kristian Arntzen+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@HansKristian-Work%20 >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2020-12-02+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Joshua Ashton, Valve+--+--     -   Hans-Kristian Arntzen, Valve+--+-- == Description+--+-- This extension allows applications to reduce descriptor memory footprint+-- by allowing a descriptor to be able to mutate to a given list of+-- descriptor types depending on which descriptor types are written into,+-- or copied into a descriptor set.+--+-- The main use case this extension intends to address is descriptor+-- indexing with+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT'+-- where the descriptor types are completely generic, as this means+-- applications can allocate one large descriptor set, rather than having+-- one large descriptor set per descriptor type, which significantly bloats+-- descriptor memory usage and causes performance issues.+--+-- This extension also adds a mechanism to declare that a descriptor pool,+-- and therefore the descriptor sets that are allocated from it, reside+-- only in host memory; as such these descriptors can only be+-- updated\/copied, but not bound.+--+-- These features together allow much more efficient emulation of the raw+-- D3D12 binding model. This extension is primarily intended to be useful+-- for API layering efforts.+--+-- == New Structures+--+-- -   'MutableDescriptorTypeListVALVE'+--+-- -   Extending+--     'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo',+--     'Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo':+--+--     -   'MutableDescriptorTypeCreateInfoVALVE'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'+--+-- == New Enum Constants+--+-- -   'VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME'+--+-- -   'VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION'+--+-- -   Extending+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits':+--+--     -   'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+--+-- -   Extending+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits':+--+--     -   'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+--+-- -   Extending 'Vulkan.Core10.Enums.DescriptorType.DescriptorType':+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE'+--+-- == Version History+--+-- -   Revision 1, 2020-12-01 (Joshua Ashton, Hans-Kristian Arntzen)+--+--     -   Initial specification, squashed from public draft.+--+-- = See Also+--+-- 'MutableDescriptorTypeCreateInfoVALVE',+-- 'MutableDescriptorTypeListVALVE',+-- 'PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'+--+-- = Document Notes+--+-- For more information, see the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VALVE_mutable_descriptor_type Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_VALVE_mutable_descriptor_type  ( PhysicalDeviceMutableDescriptorTypeFeaturesVALVE(..)+                                                           , MutableDescriptorTypeListVALVE(..)+                                                           , MutableDescriptorTypeCreateInfoVALVE(..)+                                                           , VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION+                                                           , pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION+                                                           , VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME+                                                           , pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME+                                                           ) where++import Foreign.Marshal.Alloc (allocaBytesAligned)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+import Data.Vector (generateM)+import qualified Data.Vector (imapM_)+import qualified Data.Vector (length)+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Word (Word32)+import Data.Kind (Type)+import Control.Monad.Trans.Cont (ContT(..))+import Data.Vector (Vector)+import Vulkan.CStruct.Utils (advancePtrBytes)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.DescriptorType (DescriptorType)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE))+-- | VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE - Structure+-- describing whether the mutable descriptor type is supported+--+-- = Members+--+-- The members of the 'PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'+-- structure describe the following features:+--+-- = Description+--+-- -   #features-mutableDescriptorType# @mutableDescriptorType@ indicates+--     that the implementation /must/ support using the+--     'Vulkan.Core10.Enums.DescriptorType.DescriptorType' of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--     with at least the following descriptor types, where any combination+--     of the types /must/ be supported:+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE'+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE'+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER'+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER'+--+-- -   Additionally, @mutableDescriptorType@ indicates that:+--+--     -   Non-uniform descriptor indexing /must/ be supported if all+--         descriptor types in a 'MutableDescriptorTypeListVALVE' for+--         'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--         have the corresponding non-uniform indexing features enabled in+--         'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures'.+--+--     -   'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT'+--         with @descriptorType@ of+--         'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--         relaxes the list of required descriptor types to the descriptor+--         types which have the corresponding update-after-bind feature+--         enabled in+--         'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures'.+--+--     -   Dynamically uniform descriptor indexing /must/ be supported if+--         all descriptor types in a 'MutableDescriptorTypeListVALVE' for+--         'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--         have the corresponding dynamic indexing features enabled.+--+--     -   'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+--         /must/ be supported.+--+--     -   'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+--         /must/ be supported.+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE-sType-sType#+--     @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE'+--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = PhysicalDeviceMutableDescriptorTypeFeaturesVALVE+  { -- No documentation found for Nested "VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE" "mutableDescriptorType"+    mutableDescriptorType :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceMutableDescriptorTypeFeaturesVALVE)+#endif+deriving instance Show PhysicalDeviceMutableDescriptorTypeFeaturesVALVE++instance ToCStruct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE where+  withCStruct x f = allocaBytesAligned 24 8 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceMutableDescriptorTypeFeaturesVALVE{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (mutableDescriptorType))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE where+  peekCStruct p = do+    mutableDescriptorType <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceMutableDescriptorTypeFeaturesVALVE+             (bool32ToBool mutableDescriptorType)++instance Storable PhysicalDeviceMutableDescriptorTypeFeaturesVALVE where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceMutableDescriptorTypeFeaturesVALVE where+  zero = PhysicalDeviceMutableDescriptorTypeFeaturesVALVE+           zero+++-- | VkMutableDescriptorTypeListVALVE - Structure describing descriptor types+-- that a given descriptor may mutate to+--+-- == Valid Usage+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-descriptorTypeCount-04597#+--     @descriptorTypeCount@ /must/ not be @0@ if the corresponding binding+--     is of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04598#+--     @pDescriptorTypes@ /must/ be a valid pointer to an array of+--     @descriptorTypeCount@ valid, unique+--     'Vulkan.Core10.Enums.DescriptorType.DescriptorType' values if the+--     given binding is of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--     type+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-descriptorTypeCount-04599#+--     @descriptorTypeCount@ /must/ be @0@ if the corresponding binding is+--     not of+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04600#+--     @pDescriptorTypes@ /must/ not contain+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04601#+--     @pDescriptorTypes@ /must/ not contain+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC'+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04602#+--     @pDescriptorTypes@ /must/ not contain+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC'+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-04603#+--     @pDescriptorTypes@ /must/ not contain+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT'+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkMutableDescriptorTypeListVALVE-pDescriptorTypes-parameter#+--     If @descriptorTypeCount@ is not @0@, @pDescriptorTypes@ /must/ be a+--     valid pointer to an array of @descriptorTypeCount@ valid+--     'Vulkan.Core10.Enums.DescriptorType.DescriptorType' values+--+-- = See Also+--+-- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',+-- 'MutableDescriptorTypeCreateInfoVALVE'+data MutableDescriptorTypeListVALVE = MutableDescriptorTypeListVALVE+  { -- | @pDescriptorTypes@ is @NULL@ or a pointer to an array of+    -- @descriptorTypeCount@+    -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType' values which define+    -- which descriptor types a given binding may mutate to.+    descriptorTypes :: Vector DescriptorType }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (MutableDescriptorTypeListVALVE)+#endif+deriving instance Show MutableDescriptorTypeListVALVE++instance ToCStruct MutableDescriptorTypeListVALVE where+  withCStruct x f = allocaBytesAligned 16 8 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p MutableDescriptorTypeListVALVE{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (descriptorTypes)) :: Word32))+    pPDescriptorTypes' <- ContT $ allocaBytesAligned @DescriptorType ((Data.Vector.length (descriptorTypes)) * 4) 4+    lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorTypes' `plusPtr` (4 * (i)) :: Ptr DescriptorType) (e)) (descriptorTypes)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr DescriptorType))) (pPDescriptorTypes')+    lift $ f+  cStructSize = 16+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    pPDescriptorTypes' <- ContT $ allocaBytesAligned @DescriptorType ((Data.Vector.length (mempty)) * 4) 4+    lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorTypes' `plusPtr` (4 * (i)) :: Ptr DescriptorType) (e)) (mempty)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr DescriptorType))) (pPDescriptorTypes')+    lift $ f++instance FromCStruct MutableDescriptorTypeListVALVE where+  peekCStruct p = do+    descriptorTypeCount <- peek @Word32 ((p `plusPtr` 0 :: Ptr Word32))+    pDescriptorTypes <- peek @(Ptr DescriptorType) ((p `plusPtr` 8 :: Ptr (Ptr DescriptorType)))+    pDescriptorTypes' <- generateM (fromIntegral descriptorTypeCount) (\i -> peek @DescriptorType ((pDescriptorTypes `advancePtrBytes` (4 * (i)) :: Ptr DescriptorType)))+    pure $ MutableDescriptorTypeListVALVE+             pDescriptorTypes'++instance Zero MutableDescriptorTypeListVALVE where+  zero = MutableDescriptorTypeListVALVE+           mempty+++-- | VkMutableDescriptorTypeCreateInfoVALVE - Structure describing the list+-- of possible active descriptor types for mutable type descriptors+--+-- = Description+--+-- If @mutableDescriptorTypeListCount@ is zero or if this structure is not+-- included in the @pNext@ chain, the 'MutableDescriptorTypeListVALVE' for+-- each element is considered to be zero or @NULL@ for each member.+-- Otherwise, the descriptor set layout binding at+-- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo'::@pBindings@[i]+-- uses the descriptor type lists in+-- 'MutableDescriptorTypeCreateInfoVALVE'::@pMutableDescriptorTypeLists@[i].+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkMutableDescriptorTypeCreateInfoVALVE-sType-sType# @sType@+--     /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE'+--+-- -   #VUID-VkMutableDescriptorTypeCreateInfoVALVE-pMutableDescriptorTypeLists-parameter#+--     If @mutableDescriptorTypeListCount@ is not @0@,+--     @pMutableDescriptorTypeLists@ /must/ be a valid pointer to an array+--     of @mutableDescriptorTypeListCount@ valid+--     'MutableDescriptorTypeListVALVE' structures+--+-- = See Also+--+-- 'MutableDescriptorTypeListVALVE',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoVALVE+  { -- | @pMutableDescriptorTypeLists@ is a pointer to an array of+    -- 'MutableDescriptorTypeListVALVE' structures.+    mutableDescriptorTypeLists :: Vector MutableDescriptorTypeListVALVE }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (MutableDescriptorTypeCreateInfoVALVE)+#endif+deriving instance Show MutableDescriptorTypeCreateInfoVALVE++instance ToCStruct MutableDescriptorTypeCreateInfoVALVE where+  withCStruct x f = allocaBytesAligned 32 8 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p MutableDescriptorTypeCreateInfoVALVE{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (mutableDescriptorTypeLists)) :: Word32))+    pPMutableDescriptorTypeLists' <- ContT $ allocaBytesAligned @MutableDescriptorTypeListVALVE ((Data.Vector.length (mutableDescriptorTypeLists)) * 16) 8+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPMutableDescriptorTypeLists' `plusPtr` (16 * (i)) :: Ptr MutableDescriptorTypeListVALVE) (e) . ($ ())) (mutableDescriptorTypeLists)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr MutableDescriptorTypeListVALVE))) (pPMutableDescriptorTypeLists')+    lift $ f+  cStructSize = 32+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    pPMutableDescriptorTypeLists' <- ContT $ allocaBytesAligned @MutableDescriptorTypeListVALVE ((Data.Vector.length (mempty)) * 16) 8+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPMutableDescriptorTypeLists' `plusPtr` (16 * (i)) :: Ptr MutableDescriptorTypeListVALVE) (e) . ($ ())) (mempty)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr MutableDescriptorTypeListVALVE))) (pPMutableDescriptorTypeLists')+    lift $ f++instance FromCStruct MutableDescriptorTypeCreateInfoVALVE where+  peekCStruct p = do+    mutableDescriptorTypeListCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))+    pMutableDescriptorTypeLists <- peek @(Ptr MutableDescriptorTypeListVALVE) ((p `plusPtr` 24 :: Ptr (Ptr MutableDescriptorTypeListVALVE)))+    pMutableDescriptorTypeLists' <- generateM (fromIntegral mutableDescriptorTypeListCount) (\i -> peekCStruct @MutableDescriptorTypeListVALVE ((pMutableDescriptorTypeLists `advancePtrBytes` (16 * (i)) :: Ptr MutableDescriptorTypeListVALVE)))+    pure $ MutableDescriptorTypeCreateInfoVALVE+             pMutableDescriptorTypeLists'++instance Zero MutableDescriptorTypeCreateInfoVALVE where+  zero = MutableDescriptorTypeCreateInfoVALVE+           mempty+++type VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION"+pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION :: forall a . Integral a => a+pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION = 1+++type VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME = "VK_VALVE_mutable_descriptor_type"++-- No documentation found for TopLevel "VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME"+pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME = "VK_VALVE_mutable_descriptor_type"+
+ src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs-boot view
@@ -0,0 +1,167 @@+{-# language CPP #-}+-- | = Name+--+-- VK_VALVE_mutable_descriptor_type - device extension+--+-- == VK_VALVE_mutable_descriptor_type+--+-- [__Name String__]+--     @VK_VALVE_mutable_descriptor_type@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     352+--+-- [__Revision__]+--     1+--+-- [__Extension and Version Dependencies__]+--+--     -   Requires Vulkan 1.0+--+--     -   Requires @VK_KHR_maintenance3@+--+-- [__Special Use__]+--+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse D3D support>+--+-- [__Contact__]+--+--     -   Joshua Ashton+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@Joshua-Ashton%20 >+--+--     -   Hans-Kristian Arntzen+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@HansKristian-Work%20 >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2020-12-02+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Joshua Ashton, Valve+--+--     -   Hans-Kristian Arntzen, Valve+--+-- == Description+--+-- This extension allows applications to reduce descriptor memory footprint+-- by allowing a descriptor to be able to mutate to a given list of+-- descriptor types depending on which descriptor types are written into,+-- or copied into a descriptor set.+--+-- The main use case this extension intends to address is descriptor+-- indexing with+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT'+-- where the descriptor types are completely generic, as this means+-- applications can allocate one large descriptor set, rather than having+-- one large descriptor set per descriptor type, which significantly bloats+-- descriptor memory usage and causes performance issues.+--+-- This extension also adds a mechanism to declare that a descriptor pool,+-- and therefore the descriptor sets that are allocated from it, reside+-- only in host memory; as such these descriptors can only be+-- updated\/copied, but not bound.+--+-- These features together allow much more efficient emulation of the raw+-- D3D12 binding model. This extension is primarily intended to be useful+-- for API layering efforts.+--+-- == New Structures+--+-- -   'MutableDescriptorTypeListVALVE'+--+-- -   Extending+--     'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo',+--     'Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo':+--+--     -   'MutableDescriptorTypeCreateInfoVALVE'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'+--+-- == New Enum Constants+--+-- -   'VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME'+--+-- -   'VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION'+--+-- -   Extending+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits':+--+--     -   'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE'+--+-- -   Extending+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits':+--+--     -   'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+--+-- -   Extending 'Vulkan.Core10.Enums.DescriptorType.DescriptorType':+--+--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE'+--+-- == Version History+--+-- -   Revision 1, 2020-12-01 (Joshua Ashton, Hans-Kristian Arntzen)+--+--     -   Initial specification, squashed from public draft.+--+-- = See Also+--+-- 'MutableDescriptorTypeCreateInfoVALVE',+-- 'MutableDescriptorTypeListVALVE',+-- 'PhysicalDeviceMutableDescriptorTypeFeaturesVALVE'+--+-- = Document Notes+--+-- For more information, see the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VALVE_mutable_descriptor_type Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_VALVE_mutable_descriptor_type  ( MutableDescriptorTypeCreateInfoVALVE+                                                           , MutableDescriptorTypeListVALVE+                                                           , PhysicalDeviceMutableDescriptorTypeFeaturesVALVE+                                                           ) where++import Data.Kind (Type)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+data MutableDescriptorTypeCreateInfoVALVE++instance ToCStruct MutableDescriptorTypeCreateInfoVALVE+instance Show MutableDescriptorTypeCreateInfoVALVE++instance FromCStruct MutableDescriptorTypeCreateInfoVALVE+++data MutableDescriptorTypeListVALVE++instance ToCStruct MutableDescriptorTypeListVALVE+instance Show MutableDescriptorTypeListVALVE++instance FromCStruct MutableDescriptorTypeListVALVE+++data PhysicalDeviceMutableDescriptorTypeFeaturesVALVE++instance ToCStruct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE+instance Show PhysicalDeviceMutableDescriptorTypeFeaturesVALVE++instance FromCStruct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE+
src/Vulkan/Version.hs view
@@ -15,11 +15,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 163+pattern HEADER_VERSION = 164   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 163+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 164   pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           vulkan-version:        3.8+version:        3.8.1 synopsis:       Bindings to the Vulkan graphics API. category:       Graphics homepage:       https://github.com/expipiplus1/vulkan#readme@@ -32,6 +32,11 @@   manual: True   default: False +flag trace-calls+  description: Inserts calls to Debug.Trace.traceEventIO around every Vulkan call.+  manual: True+  default: False+ library   exposed-modules:       Vulkan@@ -432,6 +437,7 @@       Vulkan.Extensions.VK_MVK_ios_surface       Vulkan.Extensions.VK_MVK_macos_surface       Vulkan.Extensions.VK_NN_vi_surface+      Vulkan.Extensions.VK_NV_acquire_winrt_display       Vulkan.Extensions.VK_NV_clip_space_w_scaling       Vulkan.Extensions.VK_NV_compute_shader_derivatives       Vulkan.Extensions.VK_NV_cooperative_matrix@@ -470,6 +476,7 @@       Vulkan.Extensions.VK_QCOM_render_pass_store_ops       Vulkan.Extensions.VK_QCOM_render_pass_transform       Vulkan.Extensions.VK_QCOM_rotated_copy_commands+      Vulkan.Extensions.VK_VALVE_mutable_descriptor_type       Vulkan.NamedType       Vulkan.SPIRVRequirements       Vulkan.Version@@ -496,4 +503,6 @@     cpp-options: -DSAFE_FOREIGN_CALLS   if flag(generic-instances)     cpp-options: -DGENERIC_INSTANCES+  if flag(trace-calls)+    cpp-options: -DTRACE_CALLS   default-language: Haskell2010