packages feed

vulkan 3.8.3 → 3.9

raw patch · 58 files changed

+759/−1248 lines, 58 files

Files

changelog.md view
@@ -2,6 +2,15 @@  ## WIP +## [3.10] - 2021-01-09+- Make zero instance for `TransformMatrixKHR` return identity matrix. See+  https://github.com/expipiplus1/vulkan/issues/240+- Remove explicit 'count' field in AccelerationStructureBuildGeometryInfoKHR.+  See https://github.com/expipiplus1/vulkan/issues/239+- Do not bother poking empty vectors for zero pokes+- Use `0` for spec version requirements for SPIRV Requirements, See+  https://github.com/expipiplus1/vulkan/issues/249+ ## [3.8.3] - 2021-01-04 - Bump API version to v1.2.166 
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.8.3"+version: "3.9" synopsis: Bindings to the Vulkan graphics API. category: Graphics maintainer: Joe Hermaszewski <live.long.and.prosper@monoid.al>@@ -23,10 +23,11 @@     - vector   when:     - condition: os(windows)-      then:-        extra-libraries: vulkan-1-      else:-        extra-libraries: vulkan+      extra-libraries: vulkan-1+    - condition: os(darwin)+      extra-libraries: vulkan+    - condition: "!os(windows) && !os(darwin)"+      pkg-config-dependencies: vulkan     - condition: flag(safe-foreign-calls)       cpp-options: -DSAFE_FOREIGN_CALLS     - condition: flag(generic-instances)
src/Vulkan/Core10/Buffer.hs view
@@ -460,9 +460,6 @@     lift $ poke ((p `plusPtr` 24 :: Ptr DeviceSize)) (zero)     lift $ poke ((p `plusPtr` 32 :: Ptr BufferUsageFlags)) (zero)     lift $ poke ((p `plusPtr` 36 :: Ptr SharingMode)) (zero)-    pPQueueFamilyIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPQueueFamilyIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr Word32))) (pPQueueFamilyIndices')     lift $ f  instance (Extendss BufferCreateInfo es, PeekChain es) => FromCStruct (BufferCreateInfo es) where
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -11285,9 +11285,6 @@     lift $ poke ((p `plusPtr` 16 :: Ptr RenderPass)) (zero)     lift $ poke ((p `plusPtr` 24 :: Ptr Framebuffer)) (zero)     lift $ poke ((p `plusPtr` 32 :: Ptr Rect2D)) (zero)-    pPClearValues' <- ContT $ allocaBytesAligned @ClearValue ((Data.Vector.length (mempty)) * 16) 4-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPClearValues' `plusPtr` (16 * (i)) :: Ptr ClearValue) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr ClearValue))) (pPClearValues')     lift $ f  instance es ~ '[] => Zero (RenderPassBeginInfo es) where
src/Vulkan/Core10/DescriptorSet.hs view
@@ -2304,9 +2304,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPBindings' <- ContT $ allocaBytesAligned @DescriptorSetLayoutBinding ((Data.Vector.length (mempty)) * 24) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPBindings' `plusPtr` (24 * (i)) :: Ptr DescriptorSetLayoutBinding) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DescriptorSetLayoutBinding))) (pPBindings')     lift $ f  instance (Extendss DescriptorSetLayoutCreateInfo es, PeekChain es) => FromCStruct (DescriptorSetLayoutCreateInfo es) where@@ -2575,9 +2572,6 @@     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'     lift $ poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)-    pPPoolSizes' <- ContT $ allocaBytesAligned @DescriptorPoolSize ((Data.Vector.length (mempty)) * 8) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPPoolSizes' `plusPtr` (8 * (i)) :: Ptr DescriptorPoolSize) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr DescriptorPoolSize))) (pPPoolSizes')     lift $ f  instance (Extendss DescriptorPoolCreateInfo es, PeekChain es) => FromCStruct (DescriptorPoolCreateInfo es) where@@ -2703,9 +2697,6 @@     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'     lift $ poke ((p `plusPtr` 16 :: Ptr DescriptorPool)) (zero)-    pPSetLayouts' <- ContT $ allocaBytesAligned @DescriptorSetLayout ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSetLayouts' `plusPtr` (8 * (i)) :: Ptr DescriptorSetLayout) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr DescriptorSetLayout))) (pPSetLayouts')     lift $ f  instance (Extendss DescriptorSetAllocateInfo es, PeekChain es) => FromCStruct (DescriptorSetAllocateInfo es) where
src/Vulkan/Core10/Device.hs view
@@ -498,9 +498,6 @@     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'     lift $ poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)-    pPQueuePriorities' <- ContT $ allocaBytesAligned @CFloat ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPQueuePriorities' `plusPtr` (4 * (i)) :: Ptr CFloat) (CFloat (e))) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr CFloat))) (pPQueuePriorities')     lift $ f  instance (Extendss DeviceQueueCreateInfo es, PeekChain es) => FromCStruct (DeviceQueueCreateInfo es) where@@ -958,19 +955,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_CREATE_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPQueueCreateInfos' <- ContT $ allocaBytesAligned @(DeviceQueueCreateInfo _) ((Data.Vector.length (mempty)) * 40) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPQueueCreateInfos' `plusPtr` (40 * (i)) :: Ptr (DeviceQueueCreateInfo _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr (DeviceQueueCreateInfo _)))) (pPQueueCreateInfos')-    pPpEnabledLayerNames' <- ContT $ allocaBytesAligned @(Ptr CChar) ((Data.Vector.length (mempty)) * 8) 8-    Data.Vector.imapM_ (\i e -> do-      ppEnabledLayerNames'' <- ContT $ useAsCString (e)-      lift $ poke (pPpEnabledLayerNames' `plusPtr` (8 * (i)) :: Ptr (Ptr CChar)) ppEnabledLayerNames'') (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr (Ptr CChar)))) (pPpEnabledLayerNames')-    pPpEnabledExtensionNames' <- ContT $ allocaBytesAligned @(Ptr CChar) ((Data.Vector.length (mempty)) * 8) 8-    Data.Vector.imapM_ (\i e -> do-      ppEnabledExtensionNames'' <- ContT $ useAsCString (e)-      lift $ poke (pPpEnabledExtensionNames' `plusPtr` (8 * (i)) :: Ptr (Ptr CChar)) ppEnabledExtensionNames'') (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr (Ptr CChar)))) (pPpEnabledExtensionNames')     lift $ f  instance (Extendss DeviceCreateInfo es, PeekChain es) => FromCStruct (DeviceCreateInfo es) where
src/Vulkan/Core10/DeviceInitialization.hs view
@@ -520,25 +520,28 @@ -- /must/ only be called with a dispatchable object (the first parameter) -- that is @device@ or a child of @device@. ----- +----------------------+----------------------+-----------------------+--- | @device@             | @pName@              | return value          |--- +======================+======================+=======================+--- | @NULL@               | *1                   | undefined             |--- +----------------------+----------------------+-----------------------+--- | invalid device       | *1                   | undefined             |--- +----------------------+----------------------+-----------------------+--- | device               | @NULL@               | undefined             |--- +----------------------+----------------------+-----------------------+--- | device               | core device-level    | fp3                   |--- |                      | Vulkan command2      |                       |--- +----------------------+----------------------+-----------------------+--- | device               | enabled extension    | fp3                   |--- |                      | device-level         |                       |--- |                      | commands2            |                       |--- +----------------------+----------------------+-----------------------+--- | any other case, not  |                      | @NULL@                |--- | covered above        |                      |                       |--- +----------------------+----------------------+-----------------------++-- +------------------+------------------+------------------++-- | @device@         | @pName@          | return value     |+-- +==================+==================+==================++-- | @NULL@           | *1               | undefined        |+-- +------------------+------------------+------------------++-- | invalid device   | *1               | undefined        |+-- +------------------+------------------+------------------++-- | device           | @NULL@           | undefined        |+-- +------------------+------------------+------------------++-- | device           | core             | fp3              |+-- |                  | device-level     |                  |+-- |                  | Vulkan command2  |                  |+-- +------------------+------------------+------------------++-- | device           | enabled          | fp3              |+-- |                  | extension        |                  |+-- |                  | device-level     |                  |+-- |                  | commands2        |                  |+-- +------------------+------------------+------------------++-- | any other case,  |                  | @NULL@           |+-- | not covered      |                  |                  |+-- | above            |                  |                  |+-- +------------------+------------------+------------------+ -- -- 'getDeviceProcAddr' behavior --@@ -606,33 +609,35 @@ -- 'Vulkan.Core10.FuncPointers.PFN_vkVoidFunction', and /must/ be cast to -- the type of the command being queried before use. ----- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | @instance@           | @pName@                                                                 | return value          |--- +======================+=========================================================================+=======================+--- | *1                   | @NULL@                                                                  | undefined             |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | invalid non-@NULL@   | *1                                                                      | undefined             |--- | instance             |                                                                         |                       |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | @NULL@               | 'getInstanceProcAddr'                                                   | fp4                   |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | @NULL@               | 'Vulkan.Core11.DeviceInitialization.enumerateInstanceVersion'           | fp                    |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | @NULL@               | 'Vulkan.Core10.ExtensionDiscovery.enumerateInstanceExtensionProperties' | fp                    |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | @NULL@               | 'Vulkan.Core10.LayerDiscovery.enumerateInstanceLayerProperties'         | fp                    |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | @NULL@               | 'createInstance'                                                        | fp                    |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | instance             | core Vulkan command                                                     | fp2                   |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | instance             | enabled instance extension commands for @instance@                      | fp2                   |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | instance             | available device extension3 commands for @instance@                     | fp2                   |--- +----------------------+-------------------------------------------------------------------------+-----------------------+--- | any other case, not  |                                                                         | @NULL@                |--- | covered above        |                                                                         |                       |--- +----------------------+-------------------------------------------------------------------------+-----------------------++-- +------------------+-------------------------------------------------------------------------+------------------++-- | @instance@       | @pName@                                                                 | return value     |+-- +==================+=========================================================================+==================++-- | *1               | @NULL@                                                                  | undefined        |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | invalid          | *1                                                                      | undefined        |+-- | non-@NULL@       |                                                                         |                  |+-- | instance         |                                                                         |                  |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | @NULL@           | 'getInstanceProcAddr'                                                   | fp4              |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | @NULL@           | 'Vulkan.Core11.DeviceInitialization.enumerateInstanceVersion'           | fp               |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | @NULL@           | 'Vulkan.Core10.ExtensionDiscovery.enumerateInstanceExtensionProperties' | fp               |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | @NULL@           | 'Vulkan.Core10.LayerDiscovery.enumerateInstanceLayerProperties'         | fp               |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | @NULL@           | 'createInstance'                                                        | fp               |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | instance         | core Vulkan command                                                     | fp2              |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | instance         | enabled instance extension commands for @instance@                      | fp2              |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | instance         | available device extension3 commands for @instance@                     | fp2              |+-- +------------------+-------------------------------------------------------------------------+------------------++-- | any other case,  |                                                                         | @NULL@           |+-- | not covered      |                                                                         |                  |+-- | above            |                                                                         |                  |+-- +------------------+-------------------------------------------------------------------------+------------------+ -- -- 'getInstanceProcAddr' behavior --@@ -1481,16 +1486,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_INSTANCE_CREATE_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPpEnabledLayerNames' <- ContT $ allocaBytesAligned @(Ptr CChar) ((Data.Vector.length (mempty)) * 8) 8-    Data.Vector.imapM_ (\i e -> do-      ppEnabledLayerNames'' <- ContT $ useAsCString (e)-      lift $ poke (pPpEnabledLayerNames' `plusPtr` (8 * (i)) :: Ptr (Ptr CChar)) ppEnabledLayerNames'') (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr (Ptr CChar)))) (pPpEnabledLayerNames')-    pPpEnabledExtensionNames' <- ContT $ allocaBytesAligned @(Ptr CChar) ((Data.Vector.length (mempty)) * 8) 8-    Data.Vector.imapM_ (\i e -> do-      ppEnabledExtensionNames'' <- ContT $ useAsCString (e)-      lift $ poke (pPpEnabledExtensionNames' `plusPtr` (8 * (i)) :: Ptr (Ptr CChar)) ppEnabledExtensionNames'') (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr (Ptr CChar)))) (pPpEnabledExtensionNames')     lift $ f  instance (Extendss InstanceCreateInfo es, PeekChain es) => FromCStruct (InstanceCreateInfo es) where@@ -1958,13 +1953,7 @@   cStructAlignment = 8   pokeZeroCStruct p f = do     poke ((p `plusPtr` 0 :: Ptr Word32)) (zero)-    unless ((Data.Vector.length $ (mempty)) <= MAX_MEMORY_TYPES) $-      throwIO $ IOError Nothing InvalidArgument "" "memoryTypes is too long, a maximum of MAX_MEMORY_TYPES elements are allowed" Nothing Nothing-    Data.Vector.imapM_ (\i e -> poke ((lowerArrayPtr ((p `plusPtr` 4 :: Ptr (FixedArray MAX_MEMORY_TYPES MemoryType)))) `plusPtr` (8 * (i)) :: Ptr MemoryType) (e)) (mempty)     poke ((p `plusPtr` 260 :: Ptr Word32)) (zero)-    unless ((Data.Vector.length $ (mempty)) <= MAX_MEMORY_HEAPS) $-      throwIO $ IOError Nothing InvalidArgument "" "memoryHeaps is too long, a maximum of MAX_MEMORY_HEAPS elements are allowed" Nothing Nothing-    Data.Vector.imapM_ (\i e -> poke ((lowerArrayPtr ((p `plusPtr` 264 :: Ptr (FixedArray MAX_MEMORY_HEAPS MemoryHeap)))) `plusPtr` (16 * (i)) :: Ptr MemoryHeap) (e)) (mempty)     f  instance FromCStruct PhysicalDeviceMemoryProperties where
src/Vulkan/Core10/Enums/LogicOp.hs view
@@ -49,41 +49,41 @@ -- -- -   d is the color attachment’s R, G, B or A component value: ----- +-----------------------------------+-----------------------------------+--- | Mode                              | Operation                         |--- +===================================+===================================+--- | 'LOGIC_OP_CLEAR'                  | 0                                 |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_AND'                    | s ∧ d                             |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_AND_REVERSE'            | s ∧ ¬ d                           |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_COPY'                   | s                                 |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_AND_INVERTED'           | ¬ s ∧ d                           |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_NO_OP'                  | d                                 |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_XOR'                    | s ⊕ d                             |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_OR'                     | s ∨ d                             |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_NOR'                    | ¬ (s ∨ d)                         |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_EQUIVALENT'             | ¬ (s ⊕ d)                         |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_INVERT'                 | ¬ d                               |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_OR_REVERSE'             | s ∨ ¬ d                           |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_COPY_INVERTED'          | ¬ s                               |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_OR_INVERTED'            | ¬ s ∨ d                           |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_NAND'                   | ¬ (s ∧ d)                         |--- +-----------------------------------+-----------------------------------+--- | 'LOGIC_OP_SET'                    | all 1s                            |--- +-----------------------------------+-----------------------------------++-- +--------------------------+-------------------------++-- | Mode                     | Operation               |+-- +==========================+=========================++-- | 'LOGIC_OP_CLEAR'         | 0                       |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_AND'           | s ∧ d                   |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_AND_REVERSE'   | s ∧ ¬ d                 |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_COPY'          | s                       |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_AND_INVERTED'  | ¬ s ∧ d                 |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_NO_OP'         | d                       |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_XOR'           | s ⊕ d                   |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_OR'            | s ∨ d                   |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_NOR'           | ¬ (s ∨ d)               |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_EQUIVALENT'    | ¬ (s ⊕ d)               |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_INVERT'        | ¬ d                     |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_OR_REVERSE'    | s ∨ ¬ d                 |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_COPY_INVERTED' | ¬ s                     |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_OR_INVERTED'   | ¬ s ∨ d                 |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_NAND'          | ¬ (s ∧ d)               |+-- +--------------------------+-------------------------++-- | 'LOGIC_OP_SET'           | all 1s                  |+-- +--------------------------+-------------------------+ -- -- Logical Operations --
src/Vulkan/Core10/Event.hs view
@@ -244,15 +244,15 @@ -- Upon success, 'getEventStatus' returns the state of the event object -- with the following return codes: ----- +------------------------------------------+-----------------------------------+--- | Status                                   | Meaning                           |--- +==========================================+===================================+--- | 'Vulkan.Core10.Enums.Result.EVENT_SET'   | The event specified by @event@ is |--- |                                          | signaled.                         |--- +------------------------------------------+-----------------------------------+--- | 'Vulkan.Core10.Enums.Result.EVENT_RESET' | The event specified by @event@ is |--- |                                          | unsignaled.                       |--- +------------------------------------------+-----------------------------------++-- +------------------------------------------+---------------------------++-- | Status                                   | Meaning                   |+-- +==========================================+===========================++-- | 'Vulkan.Core10.Enums.Result.EVENT_SET'   | The event specified by    |+-- |                                          | @event@ is signaled.      |+-- +------------------------------------------+---------------------------++-- | 'Vulkan.Core10.Enums.Result.EVENT_RESET' | The event specified by    |+-- |                                          | @event@ is unsignaled.    |+-- +------------------------------------------+---------------------------+ -- -- Event Object Status Codes --
src/Vulkan/Core10/Image.hs view
@@ -1475,9 +1475,6 @@     lift $ poke ((p `plusPtr` 52 :: Ptr ImageTiling)) (zero)     lift $ poke ((p `plusPtr` 56 :: Ptr ImageUsageFlags)) (zero)     lift $ poke ((p `plusPtr` 60 :: Ptr SharingMode)) (zero)-    pPQueueFamilyIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPQueueFamilyIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 72 :: Ptr (Ptr Word32))) (pPQueueFamilyIndices')     lift $ poke ((p `plusPtr` 80 :: Ptr ImageLayout)) (zero)     lift $ f 
src/Vulkan/Core10/Pass.hs view
@@ -1372,18 +1372,9 @@     lift $ f   cStructSize = 72   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 4 :: Ptr PipelineBindPoint)) (zero)-    pPInputAttachments' <- ContT $ allocaBytesAligned @AttachmentReference ((Data.Vector.length (mempty)) * 8) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPInputAttachments' `plusPtr` (8 * (i)) :: Ptr AttachmentReference) (e)) (mempty)-    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr AttachmentReference))) (pPInputAttachments')-    pPColorAttachments' <- ContT $ allocaBytesAligned @AttachmentReference ((Data.Vector.length (mempty)) * 8) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPColorAttachments' `plusPtr` (8 * (i)) :: Ptr AttachmentReference) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr AttachmentReference))) (pPColorAttachments')-    pPPreserveAttachments' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPPreserveAttachments' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr Word32))) (pPPreserveAttachments')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 4 :: Ptr PipelineBindPoint)) (zero)+    f  instance FromCStruct SubpassDescription where   peekCStruct p = do@@ -1977,15 +1968,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPAttachments' <- ContT $ allocaBytesAligned @AttachmentDescription ((Data.Vector.length (mempty)) * 36) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAttachments' `plusPtr` (36 * (i)) :: Ptr AttachmentDescription) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr AttachmentDescription))) (pPAttachments')-    pPSubpasses' <- ContT $ allocaBytesAligned @SubpassDescription ((Data.Vector.length (mempty)) * 72) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPSubpasses' `plusPtr` (72 * (i)) :: Ptr SubpassDescription) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr SubpassDescription))) (pPSubpasses')-    pPDependencies' <- ContT $ allocaBytesAligned @SubpassDependency ((Data.Vector.length (mempty)) * 28) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDependencies' `plusPtr` (28 * (i)) :: Ptr SubpassDependency) (e)) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr SubpassDependency))) (pPDependencies')     lift $ f  instance (Extendss RenderPassCreateInfo es, PeekChain es) => FromCStruct (RenderPassCreateInfo es) where@@ -2572,9 +2554,6 @@     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'     lift $ poke ((p `plusPtr` 24 :: Ptr RenderPass)) (zero)-    pPAttachments' <- ContT $ allocaBytesAligned @ImageView ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAttachments' `plusPtr` (8 * (i)) :: Ptr ImageView) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ImageView))) (pPAttachments')     lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (zero)     lift $ poke ((p `plusPtr` 52 :: Ptr Word32)) (zero)     lift $ poke ((p `plusPtr` 56 :: Ptr Word32)) (zero)
src/Vulkan/Core10/Pipeline.hs view
@@ -885,12 +885,9 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    pPMapEntries' <- ContT $ allocaBytesAligned @SpecializationMapEntry ((Data.Vector.length (mempty)) * 16) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPMapEntries' `plusPtr` (16 * (i)) :: Ptr SpecializationMapEntry) (e)) (mempty)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr SpecializationMapEntry))) (pPMapEntries')-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ()))) (zero)-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 24 :: Ptr (Ptr ()))) (zero)+    f  instance FromCStruct SpecializationInfo where   peekCStruct p = do@@ -1756,12 +1753,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPVertexBindingDescriptions' <- ContT $ allocaBytesAligned @VertexInputBindingDescription ((Data.Vector.length (mempty)) * 12) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPVertexBindingDescriptions' `plusPtr` (12 * (i)) :: Ptr VertexInputBindingDescription) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr VertexInputBindingDescription))) (pPVertexBindingDescriptions')-    pPVertexAttributeDescriptions' <- ContT $ allocaBytesAligned @VertexInputAttributeDescription ((Data.Vector.length (mempty)) * 16) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPVertexAttributeDescriptions' `plusPtr` (16 * (i)) :: Ptr VertexInputAttributeDescription) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr VertexInputAttributeDescription))) (pPVertexAttributeDescriptions')     lift $ f  instance (Extendss PipelineVertexInputStateCreateInfo es, PeekChain es) => FromCStruct (PipelineVertexInputStateCreateInfo es) where@@ -2995,9 +2986,6 @@     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'     lift $ poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))     lift $ poke ((p `plusPtr` 24 :: Ptr LogicOp)) (zero)-    pPAttachments' <- ContT $ allocaBytesAligned @PipelineColorBlendAttachmentState ((Data.Vector.length (mempty)) * 32) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAttachments' `plusPtr` (32 * (i)) :: Ptr PipelineColorBlendAttachmentState) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr PipelineColorBlendAttachmentState))) (pPAttachments')     let pBlendConstants' = lowerArrayPtr ((p `plusPtr` 40 :: Ptr (FixedArray 4 CFloat)))     lift $ case ((zero, zero, zero, zero)) of       (e0, e1, e2, e3) -> do@@ -3095,13 +3083,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDynamicStates' <- ContT $ allocaBytesAligned @DynamicState ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDynamicStates' `plusPtr` (4 * (i)) :: Ptr DynamicState) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DynamicState))) (pPDynamicStates')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct PipelineDynamicStateCreateInfo where   peekCStruct p = do@@ -4351,9 +4336,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPStages' <- ContT $ allocaBytesAligned @(PipelineShaderStageCreateInfo _) ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPStages' `plusPtr` (48 * (i)) :: Ptr (PipelineShaderStageCreateInfo _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr (PipelineShaderStageCreateInfo _)))) (pPStages')     pRasterizationState'' <- ContT @_ @_ @(Ptr (PipelineRasterizationStateCreateInfo '[])) $ \cont -> withSomeCStruct @PipelineRasterizationStateCreateInfo ((SomeStruct zero)) (cont . castPtr)     lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr (PipelineRasterizationStateCreateInfo _)))) pRasterizationState''     lift $ poke ((p `plusPtr` 104 :: Ptr PipelineLayout)) (zero)
src/Vulkan/Core10/PipelineLayout.hs view
@@ -738,16 +738,10 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPSetLayouts' <- ContT $ allocaBytesAligned @DescriptorSetLayout ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSetLayouts' `plusPtr` (8 * (i)) :: Ptr DescriptorSetLayout) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DescriptorSetLayout))) (pPSetLayouts')-    pPPushConstantRanges' <- ContT $ allocaBytesAligned @PushConstantRange ((Data.Vector.length (mempty)) * 12) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPPushConstantRanges' `plusPtr` (12 * (i)) :: Ptr PushConstantRange) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr PushConstantRange))) (pPPushConstantRanges')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct PipelineLayoutCreateInfo where   peekCStruct p = do
src/Vulkan/Core10/Queue.hs view
@@ -828,18 +828,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SUBMIT_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPWaitSemaphores' <- ContT $ allocaBytesAligned @Semaphore ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPWaitSemaphores' `plusPtr` (8 * (i)) :: Ptr Semaphore) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Semaphore))) (pPWaitSemaphores')-    pPWaitDstStageMask' <- ContT $ allocaBytesAligned @PipelineStageFlags ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPWaitDstStageMask' `plusPtr` (4 * (i)) :: Ptr PipelineStageFlags) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr PipelineStageFlags))) (pPWaitDstStageMask')-    pPCommandBuffers' <- ContT $ allocaBytesAligned @(Ptr CommandBuffer_T) ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPCommandBuffers' `plusPtr` (8 * (i)) :: Ptr (Ptr CommandBuffer_T)) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr (Ptr CommandBuffer_T)))) (pPCommandBuffers')-    pPSignalSemaphores' <- ContT $ allocaBytesAligned @Semaphore ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSignalSemaphores' `plusPtr` (8 * (i)) :: Ptr Semaphore) (e)) (mempty)-    lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr Semaphore))) (pPSignalSemaphores')     lift $ f  instance (Extendss SubmitInfo es, PeekChain es) => FromCStruct (SubmitInfo es) where
src/Vulkan/Core10/SparseResourceMemoryManagement.hs view
@@ -1064,12 +1064,9 @@     lift $ f   cStructSize = 24   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr Buffer)) (zero)-    pPBinds' <- ContT $ allocaBytesAligned @SparseMemoryBind ((Data.Vector.length (mempty)) * 40) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPBinds' `plusPtr` (40 * (i)) :: Ptr SparseMemoryBind) (e)) (mempty)-    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr SparseMemoryBind))) (pPBinds')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr Buffer)) (zero)+    f  instance FromCStruct SparseBufferMemoryBindInfo where   peekCStruct p = do@@ -1135,12 +1132,9 @@     lift $ f   cStructSize = 24   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr Image)) (zero)-    pPBinds' <- ContT $ allocaBytesAligned @SparseMemoryBind ((Data.Vector.length (mempty)) * 40) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPBinds' `plusPtr` (40 * (i)) :: Ptr SparseMemoryBind) (e)) (mempty)-    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr SparseMemoryBind))) (pPBinds')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr Image)) (zero)+    f  instance FromCStruct SparseImageOpaqueMemoryBindInfo where   peekCStruct p = do@@ -1215,12 +1209,9 @@     lift $ f   cStructSize = 24   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr Image)) (zero)-    pPBinds' <- ContT $ allocaBytesAligned @SparseImageMemoryBind ((Data.Vector.length (mempty)) * 64) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPBinds' `plusPtr` (64 * (i)) :: Ptr SparseImageMemoryBind) (e)) (mempty)-    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr SparseImageMemoryBind))) (pPBinds')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr Image)) (zero)+    f  instance FromCStruct SparseImageMemoryBindInfo where   peekCStruct p = do@@ -1421,21 +1412,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_SPARSE_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPWaitSemaphores' <- ContT $ allocaBytesAligned @Semaphore ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPWaitSemaphores' `plusPtr` (8 * (i)) :: Ptr Semaphore) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Semaphore))) (pPWaitSemaphores')-    pPBufferBinds' <- ContT $ allocaBytesAligned @SparseBufferMemoryBindInfo ((Data.Vector.length (mempty)) * 24) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPBufferBinds' `plusPtr` (24 * (i)) :: Ptr SparseBufferMemoryBindInfo) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr SparseBufferMemoryBindInfo))) (pPBufferBinds')-    pPImageOpaqueBinds' <- ContT $ allocaBytesAligned @SparseImageOpaqueMemoryBindInfo ((Data.Vector.length (mempty)) * 24) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPImageOpaqueBinds' `plusPtr` (24 * (i)) :: Ptr SparseImageOpaqueMemoryBindInfo) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr SparseImageOpaqueMemoryBindInfo))) (pPImageOpaqueBinds')-    pPImageBinds' <- ContT $ allocaBytesAligned @SparseImageMemoryBindInfo ((Data.Vector.length (mempty)) * 24) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPImageBinds' `plusPtr` (24 * (i)) :: Ptr SparseImageMemoryBindInfo) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 72 :: Ptr (Ptr SparseImageMemoryBindInfo))) (pPImageBinds')-    pPSignalSemaphores' <- ContT $ allocaBytesAligned @Semaphore ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSignalSemaphores' `plusPtr` (8 * (i)) :: Ptr Semaphore) (e)) (mempty)-    lift $ poke ((p `plusPtr` 88 :: Ptr (Ptr Semaphore))) (pPSignalSemaphores')     lift $ f  instance (Extendss BindSparseInfo es, PeekChain es) => FromCStruct (BindSparseInfo es) where
src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs view
@@ -682,18 +682,15 @@     lift $ f   cStructSize = 72   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDescriptorUpdateEntries' <- ContT $ allocaBytesAligned @DescriptorUpdateTemplateEntry ((Data.Vector.length (mempty)) * 32) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorUpdateEntries' `plusPtr` (32 * (i)) :: Ptr DescriptorUpdateTemplateEntry) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DescriptorUpdateTemplateEntry))) (pPDescriptorUpdateEntries')-    lift $ poke ((p `plusPtr` 32 :: Ptr DescriptorUpdateTemplateType)) (zero)-    lift $ poke ((p `plusPtr` 40 :: Ptr DescriptorSetLayout)) (zero)-    lift $ poke ((p `plusPtr` 48 :: Ptr PipelineBindPoint)) (zero)-    lift $ poke ((p `plusPtr` 56 :: Ptr PipelineLayout)) (zero)-    lift $ poke ((p `plusPtr` 64 :: Ptr Word32)) (zero)-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 32 :: Ptr DescriptorUpdateTemplateType)) (zero)+    poke ((p `plusPtr` 40 :: Ptr DescriptorSetLayout)) (zero)+    poke ((p `plusPtr` 48 :: Ptr PipelineBindPoint)) (zero)+    poke ((p `plusPtr` 56 :: Ptr PipelineLayout)) (zero)+    poke ((p `plusPtr` 64 :: Ptr Word32)) (zero)+    f  instance FromCStruct DescriptorUpdateTemplateCreateInfo where   peekCStruct p = do
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -763,14 +763,11 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)-    pPDeviceRenderAreas' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (mempty)) * 16) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDeviceRenderAreas' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Rect2D))) (pPDeviceRenderAreas')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)+    f  instance FromCStruct DeviceGroupRenderPassBeginInfo where   peekCStruct p = do@@ -947,19 +944,10 @@     lift $ f   cStructSize = 64   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPWaitSemaphoreDeviceIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPWaitSemaphoreDeviceIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPWaitSemaphoreDeviceIndices')-    pPCommandBufferDeviceMasks' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPCommandBufferDeviceMasks' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Word32))) (pPCommandBufferDeviceMasks')-    pPSignalSemaphoreDeviceIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSignalSemaphoreDeviceIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr Word32))) (pPSignalSemaphoreDeviceIndices')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct DeviceGroupSubmitInfo where   peekCStruct p = do
src/Vulkan/Core11/Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.hs view
@@ -123,13 +123,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDeviceIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDeviceIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPDeviceIndices')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct BindBufferMemoryDeviceGroupInfo where   peekCStruct p = do@@ -300,16 +297,10 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDeviceIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDeviceIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPDeviceIndices')-    pPSplitInstanceBindRegions' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (mempty)) * 16) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSplitInstanceBindRegions' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Rect2D))) (pPSplitInstanceBindRegions')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct BindImageMemoryDeviceGroupInfo where   peekCStruct p = do
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group_creation.hs view
@@ -214,9 +214,6 @@     poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES)     poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)     poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)-    unless ((Data.Vector.length $ (mempty)) <= MAX_DEVICE_GROUP_SIZE) $-      throwIO $ IOError Nothing InvalidArgument "" "physicalDevices is too long, a maximum of MAX_DEVICE_GROUP_SIZE elements are allowed" Nothing Nothing-    Data.Vector.imapM_ (\i e -> poke ((lowerArrayPtr ((p `plusPtr` 24 :: Ptr (FixedArray MAX_DEVICE_GROUP_SIZE (Ptr PhysicalDevice_T))))) `plusPtr` (8 * (i)) :: Ptr (Ptr PhysicalDevice_T)) (e)) (mempty)     poke ((p `plusPtr` 280 :: Ptr Bool32)) (boolToBool32 (zero))     f @@ -311,13 +308,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPPhysicalDevices' <- ContT $ allocaBytesAligned @(Ptr PhysicalDevice_T) ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPPhysicalDevices' `plusPtr` (8 * (i)) :: Ptr (Ptr PhysicalDevice_T)) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr (Ptr PhysicalDevice_T)))) (pPPhysicalDevices')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct DeviceGroupDeviceCreateInfo where   peekCStruct p = do
src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance2.hs view
@@ -174,13 +174,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAspectReferences' <- ContT $ allocaBytesAligned @InputAttachmentAspectReference ((Data.Vector.length (mempty)) * 12) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAspectReferences' `plusPtr` (12 * (i)) :: Ptr InputAttachmentAspectReference) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr InputAttachmentAspectReference))) (pPAspectReferences')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct RenderPassInputAttachmentAspectCreateInfo where   peekCStruct p = do
src/Vulkan/Core11/Promoted_From_VK_KHR_multiview.hs view
@@ -387,19 +387,10 @@     lift $ f   cStructSize = 64   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPViewMasks' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPViewMasks' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPViewMasks')-    pPViewOffsets' <- ContT $ allocaBytesAligned @Int32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPViewOffsets' `plusPtr` (4 * (i)) :: Ptr Int32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Int32))) (pPViewOffsets')-    pPCorrelationMasks' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPCorrelationMasks' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr Word32))) (pPCorrelationMasks')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct RenderPassMultiviewCreateInfo where   peekCStruct p = do
src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs view
@@ -893,13 +893,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPBindingFlags' <- ContT $ allocaBytesAligned @DescriptorBindingFlags ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPBindingFlags' `plusPtr` (4 * (i)) :: Ptr DescriptorBindingFlags) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DescriptorBindingFlags))) (pPBindingFlags')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct DescriptorSetLayoutBindingFlagsCreateInfo where   peekCStruct p = do@@ -983,13 +980,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDescriptorCounts' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorCounts' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPDescriptorCounts')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct DescriptorSetVariableDescriptorCountAllocateInfo where   peekCStruct p = do
src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs view
@@ -1377,15 +1377,6 @@     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'     lift $ poke ((p `plusPtr` 20 :: Ptr PipelineBindPoint)) (zero)     lift $ poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)-    pPInputAttachments' <- ContT $ allocaBytesAligned @(AttachmentReference2 _) ((Data.Vector.length (mempty)) * 32) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPInputAttachments' `plusPtr` (32 * (i)) :: Ptr (AttachmentReference2 _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr (AttachmentReference2 _)))) (pPInputAttachments')-    pPColorAttachments' <- ContT $ allocaBytesAligned @(AttachmentReference2 _) ((Data.Vector.length (mempty)) * 32) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPColorAttachments' `plusPtr` (32 * (i)) :: Ptr (AttachmentReference2 _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr (AttachmentReference2 _)))) (pPColorAttachments')-    pPPreserveAttachments' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPPreserveAttachments' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 80 :: Ptr (Ptr Word32))) (pPPreserveAttachments')     lift $ f  instance (Extendss SubpassDescription2 es, PeekChain es) => FromCStruct (SubpassDescription2 es) where@@ -1934,18 +1925,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPAttachments' <- ContT $ allocaBytesAligned @(AttachmentDescription2 _) ((Data.Vector.length (mempty)) * 56) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPAttachments' `plusPtr` (56 * (i)) :: Ptr (AttachmentDescription2 _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr (AttachmentDescription2 _)))) (pPAttachments')-    pPSubpasses' <- ContT $ allocaBytesAligned @(SubpassDescription2 _) ((Data.Vector.length (mempty)) * 88) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPSubpasses' `plusPtr` (88 * (i)) :: Ptr (SubpassDescription2 _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr (SubpassDescription2 _)))) (pPSubpasses')-    pPDependencies' <- ContT $ allocaBytesAligned @SubpassDependency2 ((Data.Vector.length (mempty)) * 48) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDependencies' `plusPtr` (48 * (i)) :: Ptr SubpassDependency2) (e)) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr SubpassDependency2))) (pPDependencies')-    pPCorrelatedViewMasks' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPCorrelatedViewMasks' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 72 :: Ptr (Ptr Word32))) (pPCorrelatedViewMasks')     lift $ f  instance (Extendss RenderPassCreateInfo2 es, PeekChain es) => FromCStruct (RenderPassCreateInfo2 es) where
src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs view
@@ -76,13 +76,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPViewFormats' <- ContT $ allocaBytesAligned @Format ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPViewFormats' `plusPtr` (4 * (i)) :: Ptr Format) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Format))) (pPViewFormats')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct ImageFormatListCreateInfo where   peekCStruct p = do
src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs view
@@ -159,13 +159,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAttachmentImageInfos' <- ContT $ allocaBytesAligned @FramebufferAttachmentImageInfo ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPAttachmentImageInfos' `plusPtr` (48 * (i)) :: Ptr FramebufferAttachmentImageInfo) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr FramebufferAttachmentImageInfo))) (pPAttachmentImageInfos')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct FramebufferAttachmentsCreateInfo where   peekCStruct p = do@@ -266,17 +263,14 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 20 :: Ptr ImageUsageFlags)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)-    lift $ poke ((p `plusPtr` 28 :: Ptr Word32)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (zero)-    pPViewFormats' <- ContT $ allocaBytesAligned @Format ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPViewFormats' `plusPtr` (4 * (i)) :: Ptr Format) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Format))) (pPViewFormats')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 20 :: Ptr ImageUsageFlags)) (zero)+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 28 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 32 :: Ptr Word32)) (zero)+    f  instance FromCStruct FramebufferAttachmentImageInfo where   peekCStruct p = do@@ -355,13 +349,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAttachments' <- ContT $ allocaBytesAligned @ImageView ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAttachments' `plusPtr` (8 * (i)) :: Ptr ImageView) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ImageView))) (pPAttachments')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct RenderPassAttachmentBeginInfo where   peekCStruct p = do
src/Vulkan/Core12/Promoted_From_VK_KHR_timeline_semaphore.hs view
@@ -752,16 +752,10 @@     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPSemaphores' <- ContT $ allocaBytesAligned @Semaphore ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSemaphores' `plusPtr` (8 * (i)) :: Ptr Semaphore) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Semaphore))) (pPSemaphores')-    pPValues' <- ContT $ allocaBytesAligned @Word64 ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPValues' `plusPtr` (8 * (i)) :: Ptr Word64) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Word64))) (pPValues')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct SemaphoreWaitInfo where   peekCStruct p = do
src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs view
@@ -625,27 +625,27 @@ -- -- \' ----- +-----------------------------------+--------------------------------------------------------------------------------------+--- | Overlap Mode                      | Weighting Equations                                                                  |--- +===================================+======================================================================================+--- | 'BLEND_OVERLAP_UNCORRELATED_EXT'  | \[                                              \begin{aligned}                      |--- |                                   |                                                 p_0(A_s,A_d) & = A_sA_d \\           |--- |                                   |                                                 p_1(A_s,A_d) & = A_s(1-A_d) \\       |--- |                                   |                                                 p_2(A_s,A_d) & = A_d(1-A_s) \\       |--- |                                   |                                               \end{aligned}\]                        |--- +-----------------------------------+--------------------------------------------------------------------------------------+--- | 'BLEND_OVERLAP_CONJOINT_EXT'      | \[                                              \begin{aligned}                      |--- |                                   |                                                 p_0(A_s,A_d) & = min(A_s,A_d) \\     |--- |                                   |                                                 p_1(A_s,A_d) & = max(A_s-A_d,0) \\   |--- |                                   |                                                 p_2(A_s,A_d) & = max(A_d-A_s,0) \\   |--- |                                   |                                               \end{aligned}\]                        |--- +-----------------------------------+--------------------------------------------------------------------------------------+--- | 'BLEND_OVERLAP_DISJOINT_EXT'      | \[                                              \begin{aligned}                      |--- |                                   |                                                 p_0(A_s,A_d) & = max(A_s+A_d-1,0) \\ |--- |                                   |                                                 p_1(A_s,A_d) & = min(A_s,1-A_d) \\   |--- |                                   |                                                 p_2(A_s,A_d) & = min(A_d,1-A_s) \\   |--- |                                   |                                               \end{aligned}\]                        |--- +-----------------------------------+--------------------------------------------------------------------------------------++-- +----------------------------------+--------------------------------------------------------------------------------------++-- | Overlap Mode                     | Weighting Equations                                                                  |+-- +==================================+======================================================================================++-- | 'BLEND_OVERLAP_UNCORRELATED_EXT' | \[                                              \begin{aligned}                      |+-- |                                  |                                                 p_0(A_s,A_d) & = A_sA_d \\           |+-- |                                  |                                                 p_1(A_s,A_d) & = A_s(1-A_d) \\       |+-- |                                  |                                                 p_2(A_s,A_d) & = A_d(1-A_s) \\       |+-- |                                  |                                               \end{aligned}\]                        |+-- +----------------------------------+--------------------------------------------------------------------------------------++-- | 'BLEND_OVERLAP_CONJOINT_EXT'     | \[                                              \begin{aligned}                      |+-- |                                  |                                                 p_0(A_s,A_d) & = min(A_s,A_d) \\     |+-- |                                  |                                                 p_1(A_s,A_d) & = max(A_s-A_d,0) \\   |+-- |                                  |                                                 p_2(A_s,A_d) & = max(A_d-A_s,0) \\   |+-- |                                  |                                               \end{aligned}\]                        |+-- +----------------------------------+--------------------------------------------------------------------------------------++-- | 'BLEND_OVERLAP_DISJOINT_EXT'     | \[                                              \begin{aligned}                      |+-- |                                  |                                                 p_0(A_s,A_d) & = max(A_s+A_d-1,0) \\ |+-- |                                  |                                                 p_1(A_s,A_d) & = min(A_s,1-A_d) \\   |+-- |                                  |                                                 p_2(A_s,A_d) & = min(A_d,1-A_s) \\   |+-- |                                  |                                               \end{aligned}\]                        |+-- +----------------------------------+--------------------------------------------------------------------------------------+ -- -- Advanced Blend Overlap Modes --
src/Vulkan/Extensions/VK_EXT_debug_utils.hs view
@@ -1922,15 +1922,6 @@     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)     pMessage'' <- ContT $ useAsCString (mempty)     lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr CChar))) pMessage''-    pPQueueLabels' <- ContT $ allocaBytesAligned @DebugUtilsLabelEXT ((Data.Vector.length (mempty)) * 40) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPQueueLabels' `plusPtr` (40 * (i)) :: Ptr DebugUtilsLabelEXT) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr DebugUtilsLabelEXT))) (pPQueueLabels')-    pPCmdBufLabels' <- ContT $ allocaBytesAligned @DebugUtilsLabelEXT ((Data.Vector.length (mempty)) * 40) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPCmdBufLabels' `plusPtr` (40 * (i)) :: Ptr DebugUtilsLabelEXT) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 72 :: Ptr (Ptr DebugUtilsLabelEXT))) (pPCmdBufLabels')-    pPObjects' <- ContT $ allocaBytesAligned @DebugUtilsObjectNameInfoEXT ((Data.Vector.length (mempty)) * 40) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPObjects' `plusPtr` (40 * (i)) :: Ptr DebugUtilsObjectNameInfoEXT) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 88 :: Ptr (Ptr DebugUtilsObjectNameInfoEXT))) (pPObjects')     lift $ f  instance FromCStruct DebugUtilsMessengerCallbackDataEXT where
src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs view
@@ -429,14 +429,11 @@     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 20 :: Ptr DiscardRectangleModeEXT)) (zero)-    pPDiscardRectangles' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (mempty)) * 16) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDiscardRectangles' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Rect2D))) (pPDiscardRectangles')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 20 :: Ptr DiscardRectangleModeEXT)) (zero)+    f  instance FromCStruct PipelineDiscardRectangleStateCreateInfoEXT where   peekCStruct p = do
src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs view
@@ -946,15 +946,12 @@     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Word64)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr SharingMode)) (zero)-    pPQueueFamilyIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPQueueFamilyIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Word32))) (pPQueueFamilyIndices')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word64)) (zero)+    poke ((p `plusPtr` 24 :: Ptr SharingMode)) (zero)+    f  instance FromCStruct PhysicalDeviceImageDrmFormatModifierInfoEXT where   peekCStruct p = do@@ -1023,13 +1020,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDrmFormatModifiers' <- ContT $ allocaBytesAligned @Word64 ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDrmFormatModifiers' `plusPtr` (8 * (i)) :: Ptr Word64) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word64))) (pPDrmFormatModifiers')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct ImageDrmFormatModifierListCreateInfoEXT where   peekCStruct p = do@@ -1138,14 +1132,11 @@     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Word64)) (zero)-    pPPlaneLayouts' <- ContT $ allocaBytesAligned @SubresourceLayout ((Data.Vector.length (mempty)) * 40) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPPlaneLayouts' `plusPtr` (40 * (i)) :: Ptr SubresourceLayout) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr SubresourceLayout))) (pPPlaneLayouts')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word64)) (zero)+    f  instance FromCStruct ImageDrmFormatModifierExplicitCreateInfoEXT where   peekCStruct p = do
src/Vulkan/Extensions/VK_EXT_memory_budget.hs view
@@ -200,12 +200,6 @@   pokeZeroCStruct p f = do     poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT)     poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    unless ((Data.Vector.length $ (mempty)) <= MAX_MEMORY_HEAPS) $-      throwIO $ IOError Nothing InvalidArgument "" "heapBudget is too long, a maximum of MAX_MEMORY_HEAPS elements are allowed" Nothing Nothing-    Data.Vector.imapM_ (\i e -> poke ((lowerArrayPtr ((p `plusPtr` 16 :: Ptr (FixedArray MAX_MEMORY_HEAPS DeviceSize)))) `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) (mempty)-    unless ((Data.Vector.length $ (mempty)) <= MAX_MEMORY_HEAPS) $-      throwIO $ IOError Nothing InvalidArgument "" "heapUsage is too long, a maximum of MAX_MEMORY_HEAPS elements are allowed" Nothing Nothing-    Data.Vector.imapM_ (\i e -> poke ((lowerArrayPtr ((p `plusPtr` 144 :: Ptr (FixedArray MAX_MEMORY_HEAPS DeviceSize)))) `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) (mempty)     f  instance FromCStruct PhysicalDeviceMemoryBudgetPropertiesEXT where
src/Vulkan/Extensions/VK_EXT_sample_locations.hs view
@@ -522,14 +522,11 @@     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 20 :: Ptr Extent2D)) (zero)-    pPSampleLocations' <- ContT $ allocaBytesAligned @SampleLocationEXT ((Data.Vector.length (mempty)) * 8) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSampleLocations' `plusPtr` (8 * (i)) :: Ptr SampleLocationEXT) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr SampleLocationEXT))) (pPSampleLocations')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 20 :: Ptr Extent2D)) (zero)+    f  instance FromCStruct SampleLocationsInfoEXT where   peekCStruct p = do@@ -765,16 +762,10 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAttachmentInitialSampleLocations' <- ContT $ allocaBytesAligned @AttachmentSampleLocationsEXT ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPAttachmentInitialSampleLocations' `plusPtr` (48 * (i)) :: Ptr AttachmentSampleLocationsEXT) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr AttachmentSampleLocationsEXT))) (pPAttachmentInitialSampleLocations')-    pPPostSubpassSampleLocations' <- ContT $ allocaBytesAligned @SubpassSampleLocationsEXT ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPPostSubpassSampleLocations' `plusPtr` (48 * (i)) :: Ptr SubpassSampleLocationsEXT) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr SubpassSampleLocationsEXT))) (pPPostSubpassSampleLocations')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct RenderPassSampleLocationsBeginInfoEXT where   peekCStruct p = do
src/Vulkan/Extensions/VK_EXT_validation_cache.hs view
@@ -443,22 +443,23 @@ -- bytes written to @pData@ /must/ be a header consisting of the following -- members: ----- +--------+----------------------------------------+--------------------------------------------------+--- | Offset | Size                                   | Meaning                                          |--- +========+========================================+==================================================+--- | 0      | 4                                      | length in bytes of the entire validation cache   |--- |        |                                        | header written as a stream of bytes, with the    |--- |        |                                        | least significant byte first                     |--- +--------+----------------------------------------+--------------------------------------------------+--- | 4      | 4                                      | a 'ValidationCacheHeaderVersionEXT' value        |--- |        |                                        | written as a stream of bytes, with the least     |--- |        |                                        | significant byte first                           |--- +--------+----------------------------------------+--------------------------------------------------+--- | 8      | 'Vulkan.Core10.APIConstants.UUID_SIZE' | a layer commit ID expressed as a UUID, which     |--- |        |                                        | uniquely identifies the version of the           |--- |        |                                        | validation layers used to generate these         |--- |        |                                        | validation results                               |--- +--------+----------------------------------------+--------------------------------------------------++-- +--------+----------------------------------------+------------------------------------------++-- | Offset | Size                                   | Meaning                                  |+-- +========+========================================+==========================================++-- | 0      | 4                                      | length in bytes of the entire validation |+-- |        |                                        | cache header written as a stream of      |+-- |        |                                        | bytes, with the least significant byte   |+-- |        |                                        | first                                    |+-- +--------+----------------------------------------+------------------------------------------++-- | 4      | 4                                      | a 'ValidationCacheHeaderVersionEXT'      |+-- |        |                                        | value written as a stream of bytes, with |+-- |        |                                        | the least significant byte first         |+-- +--------+----------------------------------------+------------------------------------------++-- | 8      | 'Vulkan.Core10.APIConstants.UUID_SIZE' | a layer commit ID expressed as a UUID,   |+-- |        |                                        | which uniquely identifies the version of |+-- |        |                                        | the validation layers used to generate   |+-- |        |                                        | these validation results                 |+-- +--------+----------------------------------------+------------------------------------------+ -- -- Layout for validation cache header version -- 'VALIDATION_CACHE_HEADER_VERSION_ONE_EXT'
src/Vulkan/Extensions/VK_EXT_validation_features.hs view
@@ -248,16 +248,10 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_VALIDATION_FEATURES_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPEnabledValidationFeatures' <- ContT $ allocaBytesAligned @ValidationFeatureEnableEXT ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPEnabledValidationFeatures' `plusPtr` (4 * (i)) :: Ptr ValidationFeatureEnableEXT) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ValidationFeatureEnableEXT))) (pPEnabledValidationFeatures')-    pPDisabledValidationFeatures' <- ContT $ allocaBytesAligned @ValidationFeatureDisableEXT ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDisabledValidationFeatures' `plusPtr` (4 * (i)) :: Ptr ValidationFeatureDisableEXT) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ValidationFeatureDisableEXT))) (pPDisabledValidationFeatures')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_VALIDATION_FEATURES_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct ValidationFeaturesEXT where   peekCStruct p = do
src/Vulkan/Extensions/VK_EXT_validation_flags.hs view
@@ -184,13 +184,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_VALIDATION_FLAGS_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDisabledValidationChecks' <- ContT $ allocaBytesAligned @ValidationCheckEXT ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDisabledValidationChecks' `plusPtr` (4 * (i)) :: Ptr ValidationCheckEXT) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ValidationCheckEXT))) (pPDisabledValidationChecks')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_VALIDATION_FLAGS_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct ValidationFlagsEXT where   peekCStruct p = do
src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs view
@@ -334,13 +334,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPVertexBindingDivisors' <- ContT $ allocaBytesAligned @VertexInputBindingDivisorDescriptionEXT ((Data.Vector.length (mempty)) * 8) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPVertexBindingDivisors' `plusPtr` (8 * (i)) :: Ptr VertexInputBindingDivisorDescriptionEXT) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr VertexInputBindingDivisorDescriptionEXT))) (pPVertexBindingDivisors')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct PipelineVertexInputDivisorStateCreateInfoEXT where   peekCStruct p = do
src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs view
@@ -1266,7 +1266,6 @@ import Data.Vector (generateM) import qualified Data.Vector (imapM_) import qualified Data.Vector (length)-import qualified Data.Vector (null) import Foreign.C.Types (CSize(..)) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -4637,13 +4636,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAccelerationStructures' <- ContT $ allocaBytesAligned @AccelerationStructureKHR ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAccelerationStructures' `plusPtr` (8 * (i)) :: Ptr AccelerationStructureKHR) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr AccelerationStructureKHR))) (pPAccelerationStructures')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct WriteDescriptorSetAccelerationStructureKHR where   peekCStruct p = do@@ -5386,9 +5382,6 @@   , -- | @dstAccelerationStructure@ points to the target acceleration structure     -- for the build.     dstAccelerationStructure :: AccelerationStructureKHR-  , -- | @geometryCount@ specifies the number of geometries that will be built-    -- into @dstAccelerationStructure@.-    geometryCount :: Word32   , -- | @pGeometries@ is a pointer to an array of     -- 'AccelerationStructureGeometryKHR' structures.     geometries :: Vector AccelerationStructureGeometryKHR@@ -5412,21 +5405,10 @@     lift $ poke ((p `plusPtr` 24 :: Ptr BuildAccelerationStructureModeKHR)) (mode)     lift $ poke ((p `plusPtr` 32 :: Ptr AccelerationStructureKHR)) (srcAccelerationStructure)     lift $ poke ((p `plusPtr` 40 :: Ptr AccelerationStructureKHR)) (dstAccelerationStructure)-    let pGeometriesLength = Data.Vector.length $ (geometries)-    geometryCount'' <- lift $ if (geometryCount) == 0-      then pure $ fromIntegral pGeometriesLength-      else do-        unless (fromIntegral pGeometriesLength == (geometryCount) || pGeometriesLength == 0) $-          throwIO $ IOError Nothing InvalidArgument "" "pGeometries must be empty or have 'geometryCount' elements" Nothing Nothing-        pure (geometryCount)-    lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (geometryCount'')-    pGeometries'' <- if Data.Vector.null (geometries)-      then pure nullPtr-      else do-        pPGeometries <- ContT $ allocaBytesAligned @AccelerationStructureGeometryKHR (((Data.Vector.length (geometries))) * 96) 8-        Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPGeometries `plusPtr` (96 * (i)) :: Ptr AccelerationStructureGeometryKHR) (e) . ($ ())) ((geometries))-        pure $ pPGeometries-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr AccelerationStructureGeometryKHR))) pGeometries''+    lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (geometries)) :: Word32))+    pPGeometries' <- ContT $ allocaBytesAligned @AccelerationStructureGeometryKHR ((Data.Vector.length (geometries)) * 96) 8+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPGeometries' `plusPtr` (96 * (i)) :: Ptr AccelerationStructureGeometryKHR) (e) . ($ ())) (geometries)+    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr AccelerationStructureGeometryKHR))) (pPGeometries')     lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr (Ptr AccelerationStructureGeometryKHR)))) (nullPtr)     ContT $ pokeCStruct ((p `plusPtr` 72 :: Ptr DeviceOrHostAddressKHR)) (scratchData) . ($ ())     lift $ f@@ -5448,7 +5430,6 @@            zero            zero            zero-           zero            mempty            zero @@ -5913,27 +5894,9 @@   cStructSize = 48   cStructAlignment = 4   pokeZeroCStruct p f = do-    let pMatrixRow0' = lowerArrayPtr ((p `plusPtr` 0 :: Ptr (FixedArray 4 CFloat)))-    case ((zero, zero, zero, zero)) of-      (e0, e1, e2, e3) -> do-        poke (pMatrixRow0' :: Ptr CFloat) (CFloat (e0))-        poke (pMatrixRow0' `plusPtr` 4 :: Ptr CFloat) (CFloat (e1))-        poke (pMatrixRow0' `plusPtr` 8 :: Ptr CFloat) (CFloat (e2))-        poke (pMatrixRow0' `plusPtr` 12 :: Ptr CFloat) (CFloat (e3))-    let pMatrixRow1' = lowerArrayPtr ((p `plusPtr` 16 :: Ptr (FixedArray 4 CFloat)))-    case ((zero, zero, zero, zero)) of-      (e0, e1, e2, e3) -> do-        poke (pMatrixRow1' :: Ptr CFloat) (CFloat (e0))-        poke (pMatrixRow1' `plusPtr` 4 :: Ptr CFloat) (CFloat (e1))-        poke (pMatrixRow1' `plusPtr` 8 :: Ptr CFloat) (CFloat (e2))-        poke (pMatrixRow1' `plusPtr` 12 :: Ptr CFloat) (CFloat (e3))-    let pMatrixRow2' = lowerArrayPtr ((p `plusPtr` 32 :: Ptr (FixedArray 4 CFloat)))-    case ((zero, zero, zero, zero)) of-      (e0, e1, e2, e3) -> do-        poke (pMatrixRow2' :: Ptr CFloat) (CFloat (e0))-        poke (pMatrixRow2' `plusPtr` 4 :: Ptr CFloat) (CFloat (e1))-        poke (pMatrixRow2' `plusPtr` 8 :: Ptr CFloat) (CFloat (e2))-        poke (pMatrixRow2' `plusPtr` 12 :: Ptr CFloat) (CFloat (e3))+    poke (p `plusPtr` 0) (CFloat 1)+    poke (p `plusPtr` 20) (CFloat 1)+    poke (p `plusPtr` 40) (CFloat 1)     f  instance FromCStruct TransformMatrixKHR where@@ -5963,10 +5926,10 @@   poke ptr poked = pokeCStruct ptr poked (pure ())  instance Zero TransformMatrixKHR where-  zero = TransformMatrixKHR-           (zero, zero, zero, zero)-           (zero, zero, zero, zero)-           (zero, zero, zero, zero)+ zero = TransformMatrixKHR+          (1,0,0,0)+          (0,1,0,0)+          (0,0,1,0)   -- | VkAccelerationStructureInstanceKHR - Structure specifying a single
src/Vulkan/Extensions/VK_KHR_copy_commands2.hs view
@@ -1472,15 +1472,12 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Buffer)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr Buffer)) (zero)-    pPRegions' <- ContT $ allocaBytesAligned @BufferCopy2KHR ((Data.Vector.length (mempty)) * 40) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions' `plusPtr` (40 * (i)) :: Ptr BufferCopy2KHR) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr BufferCopy2KHR))) (pPRegions')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Buffer)) (zero)+    poke ((p `plusPtr` 24 :: Ptr Buffer)) (zero)+    f  instance FromCStruct CopyBufferInfo2KHR where   peekCStruct p = do@@ -1893,17 +1890,14 @@     lift $ f   cStructSize = 56   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 40 :: Ptr ImageLayout)) (zero)-    pPRegions' <- ContT $ allocaBytesAligned @ImageCopy2KHR ((Data.Vector.length (mempty)) * 88) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions' `plusPtr` (88 * (i)) :: Ptr ImageCopy2KHR) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr ImageCopy2KHR))) (pPRegions')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)+    poke ((p `plusPtr` 32 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 40 :: Ptr ImageLayout)) (zero)+    f  instance FromCStruct CopyImageInfo2KHR where   peekCStruct p = do@@ -2231,18 +2225,15 @@     lift $ f   cStructSize = 64   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 40 :: Ptr ImageLayout)) (zero)-    pPRegions' <- ContT $ allocaBytesAligned @(ImageBlit2KHR _) ((Data.Vector.length (mempty)) * 96) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPRegions' `plusPtr` (96 * (i)) :: Ptr (ImageBlit2KHR _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr (ImageBlit2KHR _)))) (pPRegions')-    lift $ poke ((p `plusPtr` 56 :: Ptr Filter)) (zero)-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)+    poke ((p `plusPtr` 32 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 40 :: Ptr ImageLayout)) (zero)+    poke ((p `plusPtr` 56 :: Ptr Filter)) (zero)+    f  instance FromCStruct BlitImageInfo2KHR where   peekCStruct p = do@@ -2585,16 +2576,13 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Buffer)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr ImageLayout)) (zero)-    pPRegions' <- ContT $ allocaBytesAligned @(BufferImageCopy2KHR _) ((Data.Vector.length (mempty)) * 72) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPRegions' `plusPtr` (72 * (i)) :: Ptr (BufferImageCopy2KHR _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr (BufferImageCopy2KHR _)))) (pPRegions')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Buffer)) (zero)+    poke ((p `plusPtr` 24 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 32 :: Ptr ImageLayout)) (zero)+    f  instance FromCStruct CopyBufferToImageInfo2KHR where   peekCStruct p = do@@ -2925,16 +2913,13 @@     lift $ f   cStructSize = 56   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr Buffer)) (zero)-    pPRegions' <- ContT $ allocaBytesAligned @(BufferImageCopy2KHR _) ((Data.Vector.length (mempty)) * 72) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPRegions' `plusPtr` (72 * (i)) :: Ptr (BufferImageCopy2KHR _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr (BufferImageCopy2KHR _)))) (pPRegions')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)+    poke ((p `plusPtr` 32 :: Ptr Buffer)) (zero)+    f  instance FromCStruct CopyImageToBufferInfo2KHR where   peekCStruct p = do@@ -3174,17 +3159,14 @@     lift $ f   cStructSize = 56   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr Image)) (zero)-    lift $ poke ((p `plusPtr` 40 :: Ptr ImageLayout)) (zero)-    pPRegions' <- ContT $ allocaBytesAligned @ImageResolve2KHR ((Data.Vector.length (mempty)) * 88) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPRegions' `plusPtr` (88 * (i)) :: Ptr ImageResolve2KHR) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr ImageResolve2KHR))) (pPRegions')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 24 :: Ptr ImageLayout)) (zero)+    poke ((p `plusPtr` 32 :: Ptr Image)) (zero)+    poke ((p `plusPtr` 40 :: Ptr ImageLayout)) (zero)+    f  instance FromCStruct ResolveImageInfo2KHR where   peekCStruct p = do
src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs view
@@ -312,13 +312,14 @@ -- -- The handle types supported by @handleType@ are: ----- +------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | Handle Type                                                                                    | Transference         | Permanence Supported  |--- +================================================================================================+======================+=======================+--- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT' | Reference            | Temporary,Permanent   |--- +------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT'   | Copy                 | Temporary             |--- +------------------------------------------------------------------------------------------------+----------------------+-----------------------++-- +------------------------------------------------------------------------------------------------+------------------+---------------------++-- | Handle Type                                                                                    | Transference     | Permanence          |+-- |                                                                                                |                  | Supported           |+-- +================================================================================================+==================+=====================++-- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT' | Reference        | Temporary,Permanent |+-- +------------------------------------------------------------------------------------------------+------------------+---------------------++-- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT'   | Copy             | Temporary           |+-- +------------------------------------------------------------------------------------------------+------------------+---------------------+ -- -- Handle Types Supported by 'ImportFenceFdInfoKHR' --
src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs view
@@ -325,13 +325,14 @@ -- -- The handle types supported by @handleType@ are: ----- +-------------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | Handle Type                                                                                           | Transference         | Permanence Supported  |--- +=======================================================================================================+======================+=======================+--- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT'     | Reference            | Temporary,Permanent   |--- +-------------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT' | Reference            | Temporary,Permanent   |--- +-------------------------------------------------------------------------------------------------------+----------------------+-----------------------++-- +-------------------------------------------------------------------------------------------------------+------------------+---------------------++-- | Handle Type                                                                                           | Transference     | Permanence          |+-- |                                                                                                       |                  | Supported           |+-- +=======================================================================================================+==================+=====================++-- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT'     | Reference        | Temporary,Permanent |+-- +-------------------------------------------------------------------------------------------------------+------------------+---------------------++-- | 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT' | Reference        | Temporary,Permanent |+-- +-------------------------------------------------------------------------------------------------------+------------------+---------------------+ -- -- Handle Types Supported by 'ImportFenceWin32HandleInfoKHR' --
src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs view
@@ -313,13 +313,14 @@ -- -- The handle types supported by @handleType@ are: ----- +--------------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | Handle Type                                                                                            | Transference         | Permanence Supported  |--- +========================================================================================================+======================+=======================+--- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT' | Reference            | Temporary,Permanent   |--- +--------------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT'   | Copy                 | Temporary             |--- +--------------------------------------------------------------------------------------------------------+----------------------+-----------------------++-- +--------------------------------------------------------------------------------------------------------+------------------+---------------------++-- | Handle Type                                                                                            | Transference     | Permanence          |+-- |                                                                                                        |                  | Supported           |+-- +========================================================================================================+==================+=====================++-- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT' | Reference        | Temporary,Permanent |+-- +--------------------------------------------------------------------------------------------------------+------------------+---------------------++-- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT'   | Copy             | Temporary           |+-- +--------------------------------------------------------------------------------------------------------+------------------+---------------------+ -- -- Handle Types Supported by 'ImportSemaphoreFdInfoKHR' --
src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs view
@@ -362,15 +362,16 @@ -- -- The handle types supported by @handleType@ are: ----- +---------------------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | Handle Type                                                                                                   | Transference         | Permanence Supported  |--- +===============================================================================================================+======================+=======================+--- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT'     | Reference            | Temporary,Permanent   |--- +---------------------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT' | Reference            | Temporary,Permanent   |--- +---------------------------------------------------------------------------------------------------------------+----------------------+-----------------------+--- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT'      | Reference            | Temporary,Permanent   |--- +---------------------------------------------------------------------------------------------------------------+----------------------+-----------------------++-- +---------------------------------------------------------------------------------------------------------------+------------------+---------------------++-- | Handle Type                                                                                                   | Transference     | Permanence          |+-- |                                                                                                               |                  | Supported           |+-- +===============================================================================================================+==================+=====================++-- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT'     | Reference        | Temporary,Permanent |+-- +---------------------------------------------------------------------------------------------------------------+------------------+---------------------++-- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT' | Reference        | Temporary,Permanent |+-- +---------------------------------------------------------------------------------------------------------------+------------------+---------------------++-- | 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT'      | Reference        | Temporary,Permanent |+-- +---------------------------------------------------------------------------------------------------------------+------------------+---------------------+ -- -- Handle Types Supported by 'ImportSemaphoreWin32HandleInfoKHR' --
src/Vulkan/Extensions/VK_KHR_performance_query.hs view
@@ -1229,14 +1229,11 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)-    pPCounterIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPCounterIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPCounterIndices')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)+    f  instance FromCStruct QueryPoolPerformanceCreateInfoKHR where   peekCStruct p = do
src/Vulkan/Extensions/VK_KHR_pipeline_library.hs view
@@ -165,13 +165,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPLibraries' <- ContT $ allocaBytesAligned @Pipeline ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPLibraries' `plusPtr` (8 * (i)) :: Ptr Pipeline) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Pipeline))) (pPLibraries')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct PipelineLibraryCreateInfoKHR where   peekCStruct p = do
src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs view
@@ -2920,12 +2920,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPStages' <- ContT $ allocaBytesAligned @(PipelineShaderStageCreateInfo _) ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPStages' `plusPtr` (48 * (i)) :: Ptr (PipelineShaderStageCreateInfo _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr (PipelineShaderStageCreateInfo _)))) (pPStages')-    pPGroups' <- ContT $ allocaBytesAligned @RayTracingShaderGroupCreateInfoKHR ((Data.Vector.length (mempty)) * 48) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPGroups' `plusPtr` (48 * (i)) :: Ptr RayTracingShaderGroupCreateInfoKHR) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr RayTracingShaderGroupCreateInfoKHR))) (pPGroups')     lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (zero)     lift $ poke ((p `plusPtr` 80 :: Ptr PipelineLayout)) (zero)     lift $ poke ((p `plusPtr` 96 :: Ptr Int32)) (zero)
src/Vulkan/Extensions/VK_KHR_swapchain.hs view
@@ -2770,9 +2770,6 @@     lift $ poke ((p `plusPtr` 52 :: Ptr Word32)) (zero)     lift $ poke ((p `plusPtr` 56 :: Ptr ImageUsageFlags)) (zero)     lift $ poke ((p `plusPtr` 60 :: Ptr SharingMode)) (zero)-    pPQueueFamilyIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPQueueFamilyIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 72 :: Ptr (Ptr Word32))) (pPQueueFamilyIndices')     lift $ poke ((p `plusPtr` 80 :: Ptr SurfaceTransformFlagBitsKHR)) (zero)     lift $ poke ((p `plusPtr` 84 :: Ptr CompositeAlphaFlagBitsKHR)) (zero)     lift $ poke ((p `plusPtr` 88 :: Ptr PresentModeKHR)) (zero)@@ -2980,15 +2977,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PRESENT_INFO_KHR)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPWaitSemaphores' <- ContT $ allocaBytesAligned @Semaphore ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPWaitSemaphores' `plusPtr` (8 * (i)) :: Ptr Semaphore) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Semaphore))) (pPWaitSemaphores')-    pPSwapchains' <- ContT $ allocaBytesAligned @SwapchainKHR ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSwapchains' `plusPtr` (8 * (i)) :: Ptr SwapchainKHR) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr SwapchainKHR))) (pPSwapchains')-    pPImageIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPImageIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr Word32))) (pPImageIndices')     lift $ f  instance (Extendss PresentInfoKHR es, PeekChain es) => FromCStruct (PresentInfoKHR es) where@@ -3069,9 +3057,6 @@   pokeZeroCStruct p f = do     poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR)     poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    unless ((Data.Vector.length $ (mempty)) <= MAX_DEVICE_GROUP_SIZE) $-      throwIO $ IOError Nothing InvalidArgument "" "presentMask is too long, a maximum of MAX_DEVICE_GROUP_SIZE elements are allowed" Nothing Nothing-    Data.Vector.imapM_ (\i e -> poke ((lowerArrayPtr ((p `plusPtr` 16 :: Ptr (FixedArray MAX_DEVICE_GROUP_SIZE Word32)))) `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)     poke ((p `plusPtr` 144 :: Ptr DeviceGroupPresentModeFlagsKHR)) (zero)     f @@ -3520,14 +3505,11 @@     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPDeviceMasks' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDeviceMasks' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPDeviceMasks')-    lift $ poke ((p `plusPtr` 32 :: Ptr DeviceGroupPresentModeFlagBitsKHR)) (zero)-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 32 :: Ptr DeviceGroupPresentModeFlagBitsKHR)) (zero)+    f  instance FromCStruct DeviceGroupPresentInfoKHR where   peekCStruct p = do
src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs view
@@ -236,25 +236,10 @@     lift $ f   cStructSize = 72   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAcquireSyncs' <- ContT $ allocaBytesAligned @DeviceMemory ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAcquireSyncs' `plusPtr` (8 * (i)) :: Ptr DeviceMemory) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DeviceMemory))) (pPAcquireSyncs')-    pPAcquireKeys' <- ContT $ allocaBytesAligned @Word64 ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAcquireKeys' `plusPtr` (8 * (i)) :: Ptr Word64) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Word64))) (pPAcquireKeys')-    pPAcquireTimeouts' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAcquireTimeouts' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Word32))) (pPAcquireTimeouts')-    pPReleaseSyncs' <- ContT $ allocaBytesAligned @DeviceMemory ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPReleaseSyncs' `plusPtr` (8 * (i)) :: Ptr DeviceMemory) (e)) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr DeviceMemory))) (pPReleaseSyncs')-    pPReleaseKeys' <- ContT $ allocaBytesAligned @Word64 ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPReleaseKeys' `plusPtr` (8 * (i)) :: Ptr Word64) (e)) (mempty)-    lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr Word64))) (pPReleaseKeys')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct Win32KeyedMutexAcquireReleaseInfoKHR where   peekCStruct p = do
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -1893,13 +1893,10 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPStages' <- ContT $ allocaBytesAligned @(PipelineShaderStageCreateInfo _) ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPStages' `plusPtr` (48 * (i)) :: Ptr (PipelineShaderStageCreateInfo _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr (PipelineShaderStageCreateInfo _)))) (pPStages')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct GraphicsShaderGroupCreateInfoNV where   peekCStruct p = do@@ -2028,16 +2025,10 @@     lift $ f   cStructSize = 48   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPGroups' <- ContT $ allocaBytesAligned @GraphicsShaderGroupCreateInfoNV ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPGroups' `plusPtr` (48 * (i)) :: Ptr GraphicsShaderGroupCreateInfoNV) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr GraphicsShaderGroupCreateInfoNV))) (pPGroups')-    pPPipelines' <- ContT $ allocaBytesAligned @Pipeline ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPPipelines' `plusPtr` (8 * (i)) :: Ptr Pipeline) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Pipeline))) (pPPipelines')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct GraphicsPipelineShaderGroupsCreateInfoNV where   peekCStruct p = do@@ -2560,23 +2551,17 @@     lift $ f   cStructSize = 88   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr IndirectCommandsTokenTypeNV)) (zero)-    lift $ poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)-    lift $ poke ((p `plusPtr` 28 :: Ptr Word32)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (zero))-    lift $ poke ((p `plusPtr` 52 :: Ptr Word32)) (zero)-    lift $ poke ((p `plusPtr` 56 :: Ptr Word32)) (zero)-    pPIndexTypes' <- ContT $ allocaBytesAligned @IndexType ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPIndexTypes' `plusPtr` (4 * (i)) :: Ptr IndexType) (e)) (mempty)-    lift $ poke ((p `plusPtr` 72 :: Ptr (Ptr IndexType))) (pPIndexTypes')-    pPIndexTypeValues' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPIndexTypeValues' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 80 :: Ptr (Ptr Word32))) (pPIndexTypeValues')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr IndirectCommandsTokenTypeNV)) (zero)+    poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 28 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (zero))+    poke ((p `plusPtr` 52 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 56 :: Ptr Word32)) (zero)+    f  instance FromCStruct IndirectCommandsLayoutTokenNV where   peekCStruct p = do@@ -2760,18 +2745,12 @@     lift $ f   cStructSize = 56   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr IndirectCommandsLayoutUsageFlagsNV)) (zero)-    lift $ poke ((p `plusPtr` 20 :: Ptr PipelineBindPoint)) (zero)-    pPTokens' <- ContT $ allocaBytesAligned @IndirectCommandsLayoutTokenNV ((Data.Vector.length (mempty)) * 88) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPTokens' `plusPtr` (88 * (i)) :: Ptr IndirectCommandsLayoutTokenNV) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr IndirectCommandsLayoutTokenNV))) (pPTokens')-    pPStreamStrides' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPStreamStrides' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr Word32))) (pPStreamStrides')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr IndirectCommandsLayoutUsageFlagsNV)) (zero)+    poke ((p `plusPtr` 20 :: Ptr PipelineBindPoint)) (zero)+    f  instance FromCStruct IndirectCommandsLayoutCreateInfoNV where   peekCStruct p = do@@ -3026,20 +3005,17 @@     lift $ f   cStructSize = 120   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr PipelineBindPoint)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr Pipeline)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr IndirectCommandsLayoutNV)) (zero)-    pPStreams' <- ContT $ allocaBytesAligned @IndirectCommandsStreamNV ((Data.Vector.length (mempty)) * 16) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPStreams' `plusPtr` (16 * (i)) :: Ptr IndirectCommandsStreamNV) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr IndirectCommandsStreamNV))) (pPStreams')-    lift $ poke ((p `plusPtr` 56 :: Ptr Word32)) (zero)-    lift $ poke ((p `plusPtr` 64 :: Ptr Buffer)) (zero)-    lift $ poke ((p `plusPtr` 72 :: Ptr DeviceSize)) (zero)-    lift $ poke ((p `plusPtr` 80 :: Ptr DeviceSize)) (zero)-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr PipelineBindPoint)) (zero)+    poke ((p `plusPtr` 24 :: Ptr Pipeline)) (zero)+    poke ((p `plusPtr` 32 :: Ptr IndirectCommandsLayoutNV)) (zero)+    poke ((p `plusPtr` 56 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 64 :: Ptr Buffer)) (zero)+    poke ((p `plusPtr` 72 :: Ptr DeviceSize)) (zero)+    poke ((p `plusPtr` 80 :: Ptr DeviceSize)) (zero)+    f  instance FromCStruct GeneratedCommandsInfoNV where   peekCStruct p = do
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -2767,12 +2767,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    pPStages' <- ContT $ allocaBytesAligned @(PipelineShaderStageCreateInfo _) ((Data.Vector.length (mempty)) * 48) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPStages' `plusPtr` (48 * (i)) :: Ptr (PipelineShaderStageCreateInfo _))) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr (PipelineShaderStageCreateInfo _)))) (pPStages')-    pPGroups' <- ContT $ allocaBytesAligned @RayTracingShaderGroupCreateInfoNV ((Data.Vector.length (mempty)) * 40) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPGroups' `plusPtr` (40 * (i)) :: Ptr RayTracingShaderGroupCreateInfoNV) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr RayTracingShaderGroupCreateInfoNV))) (pPGroups')     lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (zero)     lift $ poke ((p `plusPtr` 56 :: Ptr PipelineLayout)) (zero)     lift $ poke ((p `plusPtr` 72 :: Ptr Int32)) (zero)@@ -3359,14 +3353,11 @@     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr AccelerationStructureTypeNV)) (zero)-    pPGeometries' <- ContT $ allocaBytesAligned @GeometryNV ((Data.Vector.length (mempty)) * 168) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPGeometries' `plusPtr` (168 * (i)) :: Ptr GeometryNV) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr GeometryNV))) (pPGeometries')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr AccelerationStructureTypeNV)) (zero)+    f  instance FromCStruct AccelerationStructureInfoNV where   peekCStruct p = do@@ -3565,16 +3556,13 @@     lift $ f   cStructSize = 56   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr AccelerationStructureNV)) (zero)-    lift $ poke ((p `plusPtr` 24 :: Ptr DeviceMemory)) (zero)-    lift $ poke ((p `plusPtr` 32 :: Ptr DeviceSize)) (zero)-    pPDeviceIndices' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPDeviceIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr Word32))) (pPDeviceIndices')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr AccelerationStructureNV)) (zero)+    poke ((p `plusPtr` 24 :: Ptr DeviceMemory)) (zero)+    poke ((p `plusPtr` 32 :: Ptr DeviceSize)) (zero)+    f  instance FromCStruct BindAccelerationStructureMemoryInfoNV where   peekCStruct p = do@@ -3655,13 +3643,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAccelerationStructures' <- ContT $ allocaBytesAligned @AccelerationStructureNV ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAccelerationStructures' `plusPtr` (8 * (i)) :: Ptr AccelerationStructureNV) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr AccelerationStructureNV))) (pPAccelerationStructures')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct WriteDescriptorSetAccelerationStructureNV where   peekCStruct p = do
src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs view
@@ -436,13 +436,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPExclusiveScissors' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (mempty)) * 16) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPExclusiveScissors' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Rect2D))) (pPExclusiveScissors')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct PipelineViewportExclusiveScissorStateCreateInfoNV where   peekCStruct p = do
src/Vulkan/Extensions/VK_NV_shading_rate_image.hs view
@@ -716,11 +716,7 @@     lift $ f   cStructSize = 16   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    pPShadingRatePaletteEntries' <- ContT $ allocaBytesAligned @ShadingRatePaletteEntryNV ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPShadingRatePaletteEntries' `plusPtr` (4 * (i)) :: Ptr ShadingRatePaletteEntryNV) (e)) (mempty)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ShadingRatePaletteEntryNV))) (pPShadingRatePaletteEntries')-    lift $ f+  pokeZeroCStruct _ f = f  instance FromCStruct ShadingRatePaletteNV where   peekCStruct p = do@@ -800,14 +796,11 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))-    pPShadingRatePalettes' <- ContT $ allocaBytesAligned @ShadingRatePaletteNV ((Data.Vector.length (mempty)) * 16) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPShadingRatePalettes' `plusPtr` (16 * (i)) :: Ptr ShadingRatePaletteNV) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ShadingRatePaletteNV))) (pPShadingRatePalettes')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f  instance FromCStruct PipelineViewportShadingRateImageStateCreateInfoNV where   peekCStruct p = do@@ -1149,13 +1142,10 @@     lift $ f   cStructSize = 24   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr ShadingRatePaletteEntryNV)) (zero)-    lift $ poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)-    pPSampleLocations' <- ContT $ allocaBytesAligned @CoarseSampleLocationNV ((Data.Vector.length (mempty)) * 12) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPSampleLocations' `plusPtr` (12 * (i)) :: Ptr CoarseSampleLocationNV) (e)) (mempty)-    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr CoarseSampleLocationNV))) (pPSampleLocations')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr ShadingRatePaletteEntryNV)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)+    f  instance FromCStruct CoarseSampleOrderCustomNV where   peekCStruct p = do@@ -1251,14 +1241,11 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    lift $ poke ((p `plusPtr` 16 :: Ptr CoarseSampleOrderTypeNV)) (zero)-    pPCustomSampleOrders' <- ContT $ allocaBytesAligned @CoarseSampleOrderCustomNV ((Data.Vector.length (mempty)) * 24) 8-    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPCustomSampleOrders' `plusPtr` (24 * (i)) :: Ptr CoarseSampleOrderCustomNV) (e) . ($ ())) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr CoarseSampleOrderCustomNV))) (pPCustomSampleOrders')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr CoarseSampleOrderTypeNV)) (zero)+    f  instance FromCStruct PipelineViewportCoarseSampleOrderStateCreateInfoNV where   peekCStruct p = do
src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs view
@@ -444,13 +444,10 @@     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPViewportSwizzles' <- ContT $ allocaBytesAligned @ViewportSwizzleNV ((Data.Vector.length (mempty)) * 16) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPViewportSwizzles' `plusPtr` (16 * (i)) :: Ptr ViewportSwizzleNV) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ViewportSwizzleNV))) (pPViewportSwizzles')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct PipelineViewportSwizzleStateCreateInfoNV where   peekCStruct p = do
src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs view
@@ -370,25 +370,10 @@     lift $ f   cStructSize = 72   cStructAlignment = 8-  pokeZeroCStruct p f = evalContT $ do-    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV)-    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    pPAcquireSyncs' <- ContT $ allocaBytesAligned @DeviceMemory ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAcquireSyncs' `plusPtr` (8 * (i)) :: Ptr DeviceMemory) (e)) (mempty)-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DeviceMemory))) (pPAcquireSyncs')-    pPAcquireKeys' <- ContT $ allocaBytesAligned @Word64 ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAcquireKeys' `plusPtr` (8 * (i)) :: Ptr Word64) (e)) (mempty)-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Word64))) (pPAcquireKeys')-    pPAcquireTimeoutMilliseconds' <- ContT $ allocaBytesAligned @Word32 ((Data.Vector.length (mempty)) * 4) 4-    lift $ Data.Vector.imapM_ (\i e -> poke (pPAcquireTimeoutMilliseconds' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Word32))) (pPAcquireTimeoutMilliseconds')-    pPReleaseSyncs' <- ContT $ allocaBytesAligned @DeviceMemory ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPReleaseSyncs' `plusPtr` (8 * (i)) :: Ptr DeviceMemory) (e)) (mempty)-    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr DeviceMemory))) (pPReleaseSyncs')-    pPReleaseKeys' <- ContT $ allocaBytesAligned @Word64 ((Data.Vector.length (mempty)) * 8) 8-    lift $ Data.Vector.imapM_ (\i e -> poke (pPReleaseKeys' `plusPtr` (8 * (i)) :: Ptr Word64) (e)) (mempty)-    lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr Word64))) (pPReleaseKeys')-    lift $ f+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct Win32KeyedMutexAcquireReleaseInfoNV where   peekCStruct p = do
src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs view
@@ -164,18 +164,18 @@ -- then use the alternate values for the two VK_STRUCTURE_TYPEs in the -- table below. ----- +------------------------------------------------------------+----------------------+-----------------------+--- |                                                            | Adreno Driver        |                       |--- |                                                            | Version              |                       |--- +============================================================+======================+=======================+--- |                                                            | 512.468.0 and        | 512.469.0 and later   |--- |                                                            | earlier              |                       |--- +------------------------------------------------------------+----------------------+-----------------------+--- | VK_STRUCTURE_TYPE_ RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM   | 1000282000           | 1000282001            |--- +------------------------------------------------------------+----------------------+-----------------------+--- | VK_STRUCTURE_TYPE_                                         | 1000282001           | 1000282000            |--- | COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM |                      |                       |--- +------------------------------------------------------------+----------------------+-----------------------++-- +------------------------------------------------------------+------------------+------------------++-- |                                                            | Adreno Driver    |                  |+-- |                                                            | Version          |                  |+-- +============================================================+==================+==================++-- |                                                            | 512.468.0 and    | 512.469.0 and    |+-- |                                                            | earlier          | later            |+-- +------------------------------------------------------------+------------------+------------------++-- | VK_STRUCTURE_TYPE_ RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM   | 1000282000       | 1000282001       |+-- +------------------------------------------------------------+------------------+------------------++-- | VK_STRUCTURE_TYPE_                                         | 1000282001       | 1000282000       |+-- | COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM |                  |                  |+-- +------------------------------------------------------------+------------------+------------------+ -- -- @Adreno@ Driver Requirements --
src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs-boot view
@@ -164,18 +164,18 @@ -- then use the alternate values for the two VK_STRUCTURE_TYPEs in the -- table below. ----- +------------------------------------------------------------+----------------------+-----------------------+--- |                                                            | Adreno Driver        |                       |--- |                                                            | Version              |                       |--- +============================================================+======================+=======================+--- |                                                            | 512.468.0 and        | 512.469.0 and later   |--- |                                                            | earlier              |                       |--- +------------------------------------------------------------+----------------------+-----------------------+--- | VK_STRUCTURE_TYPE_ RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM   | 1000282000           | 1000282001            |--- +------------------------------------------------------------+----------------------+-----------------------+--- | VK_STRUCTURE_TYPE_                                         | 1000282001           | 1000282000            |--- | COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM |                      |                       |--- +------------------------------------------------------------+----------------------+-----------------------++-- +------------------------------------------------------------+------------------+------------------++-- |                                                            | Adreno Driver    |                  |+-- |                                                            | Version          |                  |+-- +============================================================+==================+==================++-- |                                                            | 512.468.0 and    | 512.469.0 and    |+-- |                                                            | earlier          | later            |+-- +------------------------------------------------------------+------------------+------------------++-- | VK_STRUCTURE_TYPE_ RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM   | 1000282000       | 1000282001       |+-- +------------------------------------------------------------+------------------+------------------++-- | VK_STRUCTURE_TYPE_                                         | 1000282001       | 1000282000       |+-- | COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM |                  |                  |+-- +------------------------------------------------------------+------------------+------------------+ -- -- @Adreno@ Driver Requirements --
src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs view
@@ -355,11 +355,7 @@     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+  pokeZeroCStruct _ f = f  instance FromCStruct MutableDescriptorTypeListVALVE where   peekCStruct p = do@@ -425,13 +421,10 @@     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+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f  instance FromCStruct MutableDescriptorTypeCreateInfoVALVE where   peekCStruct p = do
src/Vulkan/SPIRVRequirements.hs view
@@ -59,138 +59,72 @@ import Vulkan.Core12 (PhysicalDeviceVulkan12Properties) import Vulkan.Core12 (PhysicalDeviceVulkan12Properties(..)) import Vulkan.Extensions.VK_AMD_gcn_shader (pattern AMD_GCN_SHADER_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_gcn_shader (pattern AMD_GCN_SHADER_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_gpu_shader_half_float (pattern AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_gpu_shader_half_float (pattern AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_gpu_shader_int16 (pattern AMD_GPU_SHADER_INT16_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_gpu_shader_int16 (pattern AMD_GPU_SHADER_INT16_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_shader_ballot (pattern AMD_SHADER_BALLOT_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_shader_ballot (pattern AMD_SHADER_BALLOT_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_shader_explicit_vertex_parameter (pattern AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_shader_explicit_vertex_parameter (pattern AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_shader_fragment_mask (pattern AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_shader_fragment_mask (pattern AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_shader_image_load_store_lod (pattern AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_shader_image_load_store_lod (pattern AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_shader_trinary_minmax (pattern AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_shader_trinary_minmax (pattern AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION) import Vulkan.Extensions.VK_AMD_texture_gather_bias_lod (pattern AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME)-import Vulkan.Extensions.VK_AMD_texture_gather_bias_lod (pattern AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_buffer_device_address (pattern EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_buffer_device_address (pattern EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_descriptor_indexing (pattern EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_descriptor_indexing (pattern EXT_DESCRIPTOR_INDEXING_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_fragment_density_map (pattern EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_fragment_density_map (pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_fragment_shader_interlock (pattern EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_fragment_shader_interlock (pattern EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_post_depth_coverage (pattern EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_post_depth_coverage (pattern EXT_POST_DEPTH_COVERAGE_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_shader_atomic_float (pattern EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_shader_atomic_float (pattern EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation (pattern EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation (pattern EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (pattern EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (pattern EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_shader_stencil_export (pattern EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_shader_stencil_export (pattern EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_shader_subgroup_ballot (pattern EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_shader_subgroup_ballot (pattern EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_shader_subgroup_vote (pattern EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_shader_subgroup_vote (pattern EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_shader_viewport_index_layer (pattern EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_shader_viewport_index_layer (pattern EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION) import Vulkan.Extensions.VK_EXT_transform_feedback (pattern EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME)-import Vulkan.Extensions.VK_EXT_transform_feedback (pattern EXT_TRANSFORM_FEEDBACK_SPEC_VERSION) import Vulkan.Extensions.VK_GOOGLE_decorate_string (pattern GOOGLE_DECORATE_STRING_EXTENSION_NAME)-import Vulkan.Extensions.VK_GOOGLE_decorate_string (pattern GOOGLE_DECORATE_STRING_SPEC_VERSION) import Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1 (pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME)-import Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1 (pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION) import Vulkan.Extensions.VK_GOOGLE_user_type (pattern GOOGLE_USER_TYPE_EXTENSION_NAME)-import Vulkan.Extensions.VK_GOOGLE_user_type (pattern GOOGLE_USER_TYPE_SPEC_VERSION) import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (pattern INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME)-import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (pattern INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_16bit_storage (pattern KHR_16BIT_STORAGE_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_16bit_storage (pattern KHR_16BIT_STORAGE_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_8bit_storage (pattern KHR_8BIT_STORAGE_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_8bit_storage (pattern KHR_8BIT_STORAGE_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_acceleration_structure (pattern KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_acceleration_structure (pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_buffer_device_address (pattern KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_buffer_device_address (pattern KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_create_renderpass2 (pattern KHR_CREATE_RENDERPASS_2_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_create_renderpass2 (pattern KHR_CREATE_RENDERPASS_2_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_deferred_host_operations (pattern KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_deferred_host_operations (pattern KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_device_group_creation (pattern KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_device_group_creation (pattern KHR_DEVICE_GROUP_CREATION_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_device_group (pattern KHR_DEVICE_GROUP_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_device_group (pattern KHR_DEVICE_GROUP_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_fragment_shading_rate (pattern KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_fragment_shading_rate (pattern KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_get_memory_requirements2 (pattern KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_get_memory_requirements2 (pattern KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_get_physical_device_properties2 (pattern KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_get_physical_device_properties2 (pattern KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_maintenance2 (pattern KHR_MAINTENANCE2_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_maintenance2 (pattern KHR_MAINTENANCE2_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_maintenance3 (pattern KHR_MAINTENANCE3_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_maintenance3 (pattern KHR_MAINTENANCE3_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_multiview (pattern KHR_MULTIVIEW_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_multiview (pattern KHR_MULTIVIEW_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_ray_query (pattern KHR_RAY_QUERY_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_ray_query (pattern KHR_RAY_QUERY_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (pattern KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (pattern KHR_RAY_TRACING_PIPELINE_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_shader_atomic_int64 (pattern KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_shader_atomic_int64 (pattern KHR_SHADER_ATOMIC_INT64_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_shader_clock (pattern KHR_SHADER_CLOCK_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_shader_clock (pattern KHR_SHADER_CLOCK_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_shader_draw_parameters (pattern KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_shader_draw_parameters (pattern KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_shader_float16_int8 (pattern KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_shader_float16_int8 (pattern KHR_SHADER_FLOAT16_INT8_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_shader_float_controls (pattern KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_shader_float_controls (pattern KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_shader_non_semantic_info (pattern KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_shader_non_semantic_info (pattern KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_shader_terminate_invocation (pattern KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_shader_terminate_invocation (pattern KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_spirv_1_4 (pattern KHR_SPIRV_1_4_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_spirv_1_4 (pattern KHR_SPIRV_1_4_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_storage_buffer_storage_class (pattern KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_storage_buffer_storage_class (pattern KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_variable_pointers (pattern KHR_VARIABLE_POINTERS_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_variable_pointers (pattern KHR_VARIABLE_POINTERS_SPEC_VERSION) import Vulkan.Extensions.VK_KHR_vulkan_memory_model (pattern KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME)-import Vulkan.Extensions.VK_KHR_vulkan_memory_model (pattern KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION) import Vulkan.Version (pattern MAKE_VERSION) import Vulkan.Extensions.VK_NVX_multiview_per_view_attributes (pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME)-import Vulkan.Extensions.VK_NVX_multiview_per_view_attributes (pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION) import Vulkan.Extensions.VK_NV_compute_shader_derivatives (pattern NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_compute_shader_derivatives (pattern NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION) import Vulkan.Extensions.VK_NV_cooperative_matrix (pattern NV_COOPERATIVE_MATRIX_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_cooperative_matrix (pattern NV_COOPERATIVE_MATRIX_SPEC_VERSION) import Vulkan.Extensions.VK_NV_fragment_shader_barycentric (pattern NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_fragment_shader_barycentric (pattern NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION) import Vulkan.Extensions.VK_NV_geometry_shader_passthrough (pattern NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_geometry_shader_passthrough (pattern NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION) import Vulkan.Extensions.VK_NV_mesh_shader (pattern NV_MESH_SHADER_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_mesh_shader (pattern NV_MESH_SHADER_SPEC_VERSION) import Vulkan.Extensions.VK_NV_ray_tracing (pattern NV_RAY_TRACING_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_ray_tracing (pattern NV_RAY_TRACING_SPEC_VERSION) import Vulkan.Extensions.VK_NV_sample_mask_override_coverage (pattern NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_sample_mask_override_coverage (pattern NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION) import Vulkan.Extensions.VK_NV_shader_image_footprint (pattern NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_shader_image_footprint (pattern NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION) import Vulkan.Extensions.VK_NV_shader_sm_builtins (pattern NV_SHADER_SM_BUILTINS_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_shader_sm_builtins (pattern NV_SHADER_SM_BUILTINS_SPEC_VERSION) import Vulkan.Extensions.VK_NV_shader_subgroup_partitioned (pattern NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_shader_subgroup_partitioned (pattern NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION) import Vulkan.Extensions.VK_NV_shading_rate_image (pattern NV_SHADING_RATE_IMAGE_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_shading_rate_image (pattern NV_SHADING_RATE_IMAGE_SPEC_VERSION) import Vulkan.Extensions.VK_NV_viewport_array2 (pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME)-import Vulkan.Extensions.VK_NV_viewport_array2 (pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION) import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags) import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_ARITHMETIC_BIT)) import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)@@ -221,67 +155,67 @@     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_gcn_shader" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_GCN_SHADER_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_GCN_SHADER_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_gpu_shader_half_float" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_gpu_shader_int16" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_GPU_SHADER_INT16_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_GPU_SHADER_INT16_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_shader_ballot" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_SHADER_BALLOT_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_SHADER_BALLOT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_shader_fragment_mask" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_shader_image_load_store_lod" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_shader_trinary_minmax" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_AMD_texture_gather_bias_lod" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_shader_draw_parameters" ->@@ -293,12 +227,12 @@   "SPV_KHR_shader_clock" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_CLOCK_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_CLOCK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_float_controls" ->@@ -309,67 +243,67 @@     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_POST_DEPTH_COVERAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_EXT_shader_stencil_export" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_shader_ballot" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_subgroup_vote" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_sample_mask_override_coverage" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_geometry_shader_passthrough" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_mesh_shader" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_MESH_SHADER_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_MESH_SHADER_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_viewport_array2" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_VIEWPORT_ARRAY2_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_VIEWPORT_ARRAY2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_shader_subgroup_partitioned" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_EXT_shader_viewport_index_layer" ->@@ -377,16 +311,16 @@   "SPV_NVX_multiview_per_view_attributes" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME-                             , deviceExtensionMinVersion = NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MULTIVIEW_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MULTIVIEW_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_EXT_descriptor_indexing" ->@@ -396,170 +330,170 @@   "SPV_NV_compute_shader_derivatives" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_fragment_shader_barycentric" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_shader_image_footprint" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_shading_rate" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADING_RATE_IMAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADING_RATE_IMAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_ray_tracing" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_RAY_TRACING_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_RAY_TRACING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_ray_tracing" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_RAY_TRACING_PIPELINE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SPIRV_1_4_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SPIRV_1_4_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_ACCELERATION_STRUCTURE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_ray_query" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_RAY_QUERY_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_RAY_QUERY_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SPIRV_1_4_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SPIRV_1_4_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_ACCELERATION_STRUCTURE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_GOOGLE_hlsl_functionality1" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME-                             , deviceExtensionMinVersion = GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_GOOGLE_user_type" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = GOOGLE_USER_TYPE_EXTENSION_NAME-                             , deviceExtensionMinVersion = GOOGLE_USER_TYPE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_GOOGLE_decorate_string" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = GOOGLE_DECORATE_STRING_EXTENSION_NAME-                             , deviceExtensionMinVersion = GOOGLE_DECORATE_STRING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_EXT_fragment_invocation_density" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_physical_storage_buffer" ->@@ -567,104 +501,104 @@   "SPV_EXT_physical_storage_buffer" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_cooperative_matrix" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_COOPERATIVE_MATRIX_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_COOPERATIVE_MATRIX_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_NV_shader_sm_builtins" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADER_SM_BUILTINS_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADER_SM_BUILTINS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_EXT_fragment_shader_interlock" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_EXT_demote_to_helper_invocation" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_fragment_shading_rate" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_CREATE_RENDERPASS_2_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_CREATE_RENDERPASS_2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MULTIVIEW_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MULTIVIEW_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE2_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_non_semantic_info" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_EXT_shader_image_int64" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SPV_KHR_terminate_invocation" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   _ -> ([], [])@@ -712,7 +646,7 @@     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -723,13 +657,13 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_ATOMIC_INT64_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "AtomicFloat32AddEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -739,13 +673,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "AtomicFloat64AddEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -755,13 +689,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "Int64ImageEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -771,7 +705,7 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "Int16" -> (,)@@ -943,7 +877,7 @@     [ RequireInstanceVersion $ MAKE_VERSION 1 1 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "multiview"@@ -953,7 +887,7 @@     , RequireDeviceVersion $ MAKE_VERSION 1 1 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MULTIVIEW_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MULTIVIEW_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "DeviceGroup" -> (,) [RequireInstanceVersion $ MAKE_VERSION 1 1 0] [RequireDeviceVersion $ MAKE_VERSION 1 1 0]@@ -961,7 +895,7 @@     [ RequireInstanceVersion $ MAKE_VERSION 1 1 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -972,18 +906,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 1 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_VARIABLE_POINTERS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_VARIABLE_POINTERS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "VariablePointers" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 1 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "variablePointers"@@ -993,82 +927,82 @@     , RequireDeviceVersion $ MAKE_VERSION 1 1 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_VARIABLE_POINTERS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_VARIABLE_POINTERS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ShaderClockKHR" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_CLOCK_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_CLOCK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StencilExportEXT" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SubgroupBallotKHR" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SubgroupVoteKHR" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ImageReadWriteLodAMD" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ImageGatherBiasLodAMD" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "FragmentMaskAMD" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME-                             , deviceExtensionMinVersion = AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SampleMaskOverrideCoverageNV" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "GeometryShaderPassthroughNV" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ShaderViewportIndex" -> (,)@@ -1092,43 +1026,43 @@     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ShaderViewportIndexLayerNV" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_VIEWPORT_ARRAY2_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_VIEWPORT_ARRAY2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ShaderViewportMaskNV" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_VIEWPORT_ARRAY2_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_VIEWPORT_ARRAY2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "PerViewAttributesNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME-                             , deviceExtensionMinVersion = NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MULTIVIEW_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MULTIVIEW_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StorageBuffer16BitAccess" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 1 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1139,18 +1073,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 1 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_16BIT_STORAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_16BIT_STORAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "UniformAndStorageBuffer16BitAccess" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 1 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1161,18 +1095,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 1 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_16BIT_STORAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_16BIT_STORAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StoragePushConstant16" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 1 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "storagePushConstant16"@@ -1182,18 +1116,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 1 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_16BIT_STORAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_16BIT_STORAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StorageInputOutput16" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 1 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "storageInputOutput16"@@ -1203,11 +1137,11 @@     , RequireDeviceVersion $ MAKE_VERSION 1 1 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_16BIT_STORAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_16BIT_STORAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "GroupNonUniform" -> (,)@@ -1291,14 +1225,14 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SampleMaskPostDepthCoverage" -> (,)     []     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_POST_DEPTH_COVERAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ShaderNonUniform" -> (,) [RequireInstanceVersion $ MAKE_VERSION 1 2 0] [RequireDeviceVersion $ MAKE_VERSION 1 2 0]@@ -1306,7 +1240,7 @@     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "runtimeDescriptorArray"@@ -1316,18 +1250,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "InputAttachmentArrayDynamicIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1338,18 +1272,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "UniformTexelBufferArrayDynamicIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1361,18 +1295,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StorageTexelBufferArrayDynamicIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1384,18 +1318,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "UniformBufferArrayNonUniformIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1406,18 +1340,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SampledImageArrayNonUniformIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1428,18 +1362,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StorageBufferArrayNonUniformIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1450,18 +1384,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StorageImageArrayNonUniformIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1472,18 +1406,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "InputAttachmentArrayNonUniformIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1495,18 +1429,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "UniformTexelBufferArrayNonUniformIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1518,18 +1452,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StorageTexelBufferArrayNonUniformIndexing" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1541,18 +1475,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "Float16" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "shaderFloat16"@@ -1562,14 +1496,14 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT16_INT8_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "Int8" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "shaderInt8"@@ -1579,14 +1513,14 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT16_INT8_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StorageBuffer8BitAccess" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1597,18 +1531,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_8BIT_STORAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_8BIT_STORAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "UniformAndStorageBuffer8BitAccess" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1619,18 +1553,18 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_8BIT_STORAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_8BIT_STORAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "StoragePushConstant8" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "storagePushConstant8"@@ -1640,11 +1574,11 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_8BIT_STORAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_8BIT_STORAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "VulkanMemoryModel" -> (,)@@ -1656,7 +1590,7 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "VulkanMemoryModelDeviceScope" -> (,)@@ -1669,14 +1603,14 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "DenormPreserve" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceProperty { propertyName  = "VkPhysicalDeviceVulkan12Properties"@@ -1685,14 +1619,14 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "DenormFlushToZero" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceProperty@@ -1702,14 +1636,14 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "SignedZeroInfNanPreserve" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceProperty@@ -1719,14 +1653,14 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "RoundingModeRTE" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceProperty { propertyName  = "VkPhysicalDeviceVulkan12Properties"@@ -1735,14 +1669,14 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "RoundingModeRTZ" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceProperty { propertyName  = "VkPhysicalDeviceVulkan12Properties"@@ -1751,13 +1685,13 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ComputeDerivativeGroupQuadsNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1768,13 +1702,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ComputeDerivativeGroupLinearNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1785,13 +1719,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "FragmentBarycentricNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1802,13 +1736,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ImageFootprintNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1818,13 +1752,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ShadingRateNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1834,24 +1768,24 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADING_RATE_IMAGE_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADING_RATE_IMAGE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "MeshShadingNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_MESH_SHADER_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_MESH_SHADER_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "RayTracingKHR" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1861,41 +1795,41 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_RAY_TRACING_PIPELINE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SPIRV_1_4_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SPIRV_1_4_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_ACCELERATION_STRUCTURE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "RayQueryKHR" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "rayQuery"@@ -1904,41 +1838,41 @@                            }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_RAY_QUERY_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_RAY_QUERY_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SPIRV_1_4_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SPIRV_1_4_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_ACCELERATION_STRUCTURE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "RayTraversalPrimitiveCullingKHR" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -1948,56 +1882,56 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_RAY_TRACING_PIPELINE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SPIRV_1_4_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SPIRV_1_4_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_ACCELERATION_STRUCTURE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_DESCRIPTOR_INDEXING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE3_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "RayTracingNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_RAY_TRACING_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_RAY_TRACING_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "TransformFeedback" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2007,13 +1941,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_TRANSFORM_FEEDBACK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "GeometryStreams" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2023,13 +1957,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_TRANSFORM_FEEDBACK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "FragmentDensityEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2039,14 +1973,14 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "PhysicalStorageBufferAddresses" -> (,)     [ RequireInstanceVersion $ MAKE_VERSION 1 2 0     , RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature { featureName   = "bufferDeviceAddress"@@ -2056,13 +1990,13 @@     , RequireDeviceVersion $ MAKE_VERSION 1 2 0     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "CooperativeMatrixNV" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2072,13 +2006,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_COOPERATIVE_MATRIX_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_COOPERATIVE_MATRIX_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "IntegerFunctions2INTEL" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2088,7 +2022,7 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME-                             , deviceExtensionMinVersion = INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "ShaderSMBuiltinsNV" -> (,)@@ -2100,13 +2034,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = NV_SHADER_SM_BUILTINS_EXTENSION_NAME-                             , deviceExtensionMinVersion = NV_SHADER_SM_BUILTINS_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "FragmentShaderSampleInterlockEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2117,13 +2051,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "FragmentShaderPixelInterlockEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2134,13 +2068,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "FragmentShaderShadingRateInterlockEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2151,13 +2085,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "DemoteToHelperInvocationEXT" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2168,13 +2102,13 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME-                             , deviceExtensionMinVersion = EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   "FragmentShadingRateKHR" -> (,)     [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing                                , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-                               , instanceExtensionMinVersion = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION+                               , instanceExtensionMinVersion = 0                                }     ]     [ RequireDeviceFeature@@ -2184,19 +2118,19 @@       }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_CREATE_RENDERPASS_2_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_CREATE_RENDERPASS_2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MULTIVIEW_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MULTIVIEW_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing                              , deviceExtensionName       = KHR_MAINTENANCE2_EXTENSION_NAME-                             , deviceExtensionMinVersion = KHR_MAINTENANCE2_SPEC_VERSION+                             , deviceExtensionMinVersion = 0                              }     ]   _ -> ([], [])
vulkan.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.34.2.+-- This file has been generated from package.yaml by hpack version 0.34.3. -- -- see: https://github.com/sol/hpack  name:           vulkan-version:        3.8.3+version:        3.9 synopsis:       Bindings to the Vulkan graphics API. category:       Graphics homepage:       https://github.com/expipiplus1/vulkan#readme@@ -496,8 +496,11 @@   if os(windows)     extra-libraries:         vulkan-1-  else+  if os(darwin)     extra-libraries:+        vulkan+  if !os(windows) && !os(darwin)+    pkgconfig-depends:         vulkan   if flag(safe-foreign-calls)     cpp-options: -DSAFE_FOREIGN_CALLS