packages feed

vulkan 3.23 → 3.23.1

raw patch · 32 files changed

+730/−222 lines, 32 files

Files

changelog.md view
@@ -2,6 +2,9 @@  ## WIP +## [3.23.1] - 2022-12-26+- Bump API version to v1.3.231+ ## [3.23] - 2022-10-02 - Bump API version to v1.3.230 
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.23"+version: "3.23.1" synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics
readme.md view
@@ -1,4 +1,4 @@-# vulkan+![](haskell-vulkan.png)  Slightly high level Haskell bindings to the Vulkan graphics API. @@ -414,7 +414,7 @@     source-repository-package         type: git         location: https://github.com/expipiplus1/sdl2-        tag: d39453f601a6478875e5a2477010fa66d3d2cd95+        tag: 35f45303a0af522f10197f09e4bf52bc49b97ef4      package vulkan         extra-lib-dirs: C:/VulkanSDK/1.3.224.1/lib/
src/Vulkan/CStruct/Extends.hs view
@@ -573,6 +573,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_atomic_float (PhysicalDeviceShaderAtomicFloatFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64 (PhysicalDeviceShaderAtomicInt64Features) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_clock (PhysicalDeviceShaderClockFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_ARM_shader_core_builtins (PhysicalDeviceShaderCoreBuiltinsFeaturesARM)+import {-# SOURCE #-} Vulkan.Extensions.VK_ARM_shader_core_builtins (PhysicalDeviceShaderCoreBuiltinsPropertiesARM) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_core_properties2 (PhysicalDeviceShaderCoreProperties2AMD) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_core_properties (PhysicalDeviceShaderCorePropertiesAMD) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeatures)@@ -1120,6 +1122,7 @@   Extends DeviceCreateInfo PhysicalDeviceAddressBindingReportFeaturesEXT = ()   Extends DeviceCreateInfo PhysicalDeviceOpticalFlowFeaturesNV = ()   Extends DeviceCreateInfo PhysicalDeviceFaultFeaturesEXT = ()+  Extends DeviceCreateInfo PhysicalDeviceShaderCoreBuiltinsFeaturesARM = ()   Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoKHR = ()   Extends EventCreateInfo ExportMetalObjectCreateInfoEXT = ()   Extends EventCreateInfo ImportMetalSharedEventInfoEXT = ()@@ -1343,6 +1346,7 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceAddressBindingReportFeaturesEXT = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceOpticalFlowFeaturesNV = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceFaultFeaturesEXT = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderCoreBuiltinsFeaturesARM = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()   Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()@@ -1414,6 +1418,7 @@   Extends PhysicalDeviceProperties2 PhysicalDevicePipelineRobustnessPropertiesEXT = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceImageProcessingPropertiesQCOM = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceOpticalFlowPropertiesNV = ()+  Extends PhysicalDeviceProperties2 PhysicalDeviceShaderCoreBuiltinsPropertiesARM = ()   Extends PhysicalDeviceSurfaceInfo2KHR SurfaceFullScreenExclusiveInfoEXT = ()   Extends PhysicalDeviceSurfaceInfo2KHR SurfaceFullScreenExclusiveWin32InfoEXT = ()   Extends PipelineColorBlendStateCreateInfo PipelineColorBlendAdvancedStateCreateInfoEXT = ()@@ -2020,6 +2025,8 @@   STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV -> go @OpticalFlowImageFormatInfoNV   STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV -> go @OpticalFlowSessionCreatePrivateDataInfoNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT -> go @PhysicalDeviceFaultFeaturesEXT+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM -> go @PhysicalDeviceShaderCoreBuiltinsPropertiesARM+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM -> go @PhysicalDeviceShaderCoreBuiltinsFeaturesARM   t -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("Unrecognized struct type: " <> show t) Nothing Nothing  where   go :: forall e . (Typeable e, FromCStruct e, ToCStruct e, Show e) => IO b@@ -2473,6 +2480,8 @@ {-# complete (::&) :: OpticalFlowImageFormatInfoNV #-} {-# complete (::&) :: OpticalFlowSessionCreatePrivateDataInfoNV #-} {-# complete (::&) :: PhysicalDeviceFaultFeaturesEXT #-}+{-# complete (::&) :: PhysicalDeviceShaderCoreBuiltinsPropertiesARM #-}+{-# complete (::&) :: PhysicalDeviceShaderCoreBuiltinsFeaturesARM #-}  -- | View the head and tail of a 'Chain', see '::&' --
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -8828,10 +8828,11 @@ -- -- = Description ----- Each region in @pRegions@ is copied from the source buffer to the same--- region of the destination buffer. @srcBuffer@ and @dstBuffer@ /can/ be--- the same buffer or alias the same memory, but the resulting values are--- undefined if the copy regions overlap in memory.+-- Each source region specified by @pRegions@ is copied from the source+-- buffer to the destination region of the destination buffer. If any of+-- the specified regions in @srcBuffer@ overlaps in memory with any of the+-- specified regions in @dstBuffer@, values read from those overlapping+-- regions are undefined. -- -- == Valid Usage --@@ -8992,49 +8993,36 @@ -- -- = Description ----- Each region in @pRegions@ is copied from the source image to the same--- region of the destination image. @srcImage@ and @dstImage@ /can/ be the--- same image or alias the same memory.------ If either @srcImage@ or @dstImage@ has a--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,--- regions of each plane to be copied /must/ be specified separately using--- the @srcSubresource@ and @dstSubresource@ members of the 'ImageCopy'--- structure. In this case, the @aspectMask@ of the @srcSubresource@ or--- @dstSubresource@ that refers to the multi-planar image /must/ be--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT', or--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'. For--- the purposes of 'cmdCopyImage', each plane of a multi-planar image is--- treated as having the format listed in--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-compatible-planes>--- for the plane identified by the @aspectMask@ of the corresponding--- subresource. This applies both to 'Vulkan.Core10.Enums.Format.Format'--- and to coordinates used in the copy, which correspond to texels in the--- /plane/ rather than how these texels map to coordinates in the image as--- a whole.------ Note+-- Each source region specified by @pRegions@ is copied from the source+-- image to the destination region of the destination image. If any of the+-- specified regions in @srcImage@ overlaps in memory with any of the+-- specified regions in @dstImage@, values read from those overlapping+-- regions are undefined. ----- For example, the--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' plane--- of a 'Vulkan.Core10.Enums.Format.FORMAT_G8_B8R8_2PLANE_420_UNORM' image--- is compatible with an image of format--- 'Vulkan.Core10.Enums.Format.FORMAT_R8G8_UNORM' and (less usefully) with--- the 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'--- plane of an image of format--- 'Vulkan.Core10.Enums.Format.FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16',--- as each texel is 2 bytes in size.+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion Multi-planar images>+-- /can/ only be copied on a per-plane basis, and the subresources used in+-- each region when copying to or from such images /must/ specify only one+-- plane, though different regions /can/ specify different planes. When+-- copying planes of multi-planar images, the format considered is the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-compatible-planes compatible format for that plane>,+-- rather than the format of the multi-planar image. -- -- If the format of the destination image has a different -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-compatibility-classes block extent> -- than the source image (e.g. one is a compressed format), the offset and -- extent for each of the regions specified is -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-size-compatibility scaled according to the block extents of each format>--- to match in size.+-- to match in size. Copy regions for each image /must/ be aligned to a+-- multiple of the texel block extent in each dimension, except at the+-- edges of the image, where region extents /must/ match the edge of the+-- image. ----- 'cmdCopyImage' /can/ be used to copy image data between multisample--- images, but both images /must/ have the same number of samples.+-- Image data /can/ be copied between images with different image types. If+-- one image is 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D' and the other+-- image is 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D' with multiple+-- layers, then each slice is copied to or from a different layer; @depth@+-- slices in the 3D image correspond to @layerCount@ layers in the 2D+-- image, with an effective @depth@ of @1@ used for the 2D image. -- -- == Valid Usage --@@ -10003,25 +9991,21 @@ -- -- = Description ----- Each region in @pRegions@ is copied from the specified region of the--- source buffer to the specified region of the destination image.+-- Each source region specified by @pRegions@ is copied from the source+-- buffer to the destination region of the destination image according to+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#copies-buffers-images-addressing addressing calculations>+-- for each resource. If any of the specified regions in @srcBuffer@+-- overlaps in memory with any of the specified regions in @dstImage@,+-- values read from those overlapping regions are undefined. If any region+-- accesses a depth aspect in @dstImage@ and the+-- @VK_EXT_depth_range_unrestricted@ extension is not enabled, values+-- copied from @srcBuffer@ outside of the range [0,1] will be be written as+-- undefined values to the destination image. ----- If @dstImage@ has a--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,--- regions of each plane to be a target of a copy /must/ be specified--- separately using the @pRegions@ member of the 'BufferImageCopy'--- structure. In this case, the @aspectMask@ of @imageSubresource@ /must/--- be 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT', or--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'. For--- the purposes of 'cmdCopyBufferToImage', each plane of a multi-planar--- image is treated as having the format listed in--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-compatible-planes>--- for the plane identified by the @aspectMask@ of the corresponding--- subresource. This applies both to 'Vulkan.Core10.Enums.Format.Format'--- and to coordinates used in the copy, which correspond to texels in the--- /plane/ rather than how these texels map to coordinates in the image as--- a whole.+-- Copy regions for the image /must/ be aligned to a multiple of the texel+-- block extent in each dimension, except at the edges of the image, where+-- region extents /must/ match the edge of the image. -- -- == Valid Usage --@@ -10370,25 +10354,17 @@ -- -- = Description ----- Each region in @pRegions@ is copied from the specified region of the--- source image to the specified region of the destination buffer.+-- Each source region specified by @pRegions@ is copied from the source+-- buffer to the destination region of the destination image according to+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#copies-buffers-images-addressing addressing calculations>+-- for each resource. If any of the specified regions in @srcImage@+-- overlaps in memory with any of the specified regions in @dstBuffer@,+-- values read from those overlapping regions are undefined. ----- If @srcImage@ has a--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,--- regions of each plane to be a source of a copy /must/ be specified--- separately using the @pRegions@ member of the 'BufferImageCopy'--- structure. In this case, the @aspectMask@ of @imageSubresource@ /must/--- be 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT', or--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'. For--- the purposes of 'cmdCopyBufferToImage', each plane of a multi-planar--- image is treated as having the format listed in--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-compatible-planes>--- for the plane identified by the @aspectMask@ of the corresponding--- subresource. This applies both to 'Vulkan.Core10.Enums.Format.Format'--- and to coordinates used in the copy, which correspond to texels in the--- /plane/ rather than how these texels map to coordinates in the image as--- a whole.+-- Copy regions for the image /must/ be aligned to a multiple of the texel+-- block extent in each dimension, except at the edges of the image, where+-- region extents /must/ match the edge of the image. -- -- == Valid Usage --@@ -11543,9 +11519,9 @@ -- -   #VUID-vkCmdClearAttachments-pRects-06937# The layers specified by --     each element of @pRects@ /must/ be contained within every attachment --     that @pAttachments@ refers to, i.e. for each element of @pRects@,---     'ClearRect'::@baseArrayLayer@---     'ClearRect'::@layerCount@ /must/ be less than or equal to the number---     of layers rendered to in the current render pass instance+--     'ClearRect'::@baseArrayLayer@ + 'ClearRect'::@layerCount@ /must/ be+--     less than or equal to the number of layers rendered to in the+--     current render pass instance -- -- -   #VUID-vkCmdClearAttachments-layerCount-01934# The @layerCount@ --     member of each element of @pRects@ /must/ not be @0@@@ -15092,6 +15068,12 @@ --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#queries-operation-active active> --     in @commandBuffer@ --+-- -   #VUID-vkCmdExecuteCommands-commandBuffer-07594# @commandBuffer@+--     /must/ not have any queries other than+--     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_OCCLUSION' and+--     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PIPELINE_STATISTICS'+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#queries-operation-active active>+-- -- -   #VUID-vkCmdExecuteCommands-commandBuffer-01820# If @commandBuffer@ --     is a protected command buffer and --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>@@ -15724,21 +15706,6 @@  -- | VkImageCopy - Structure specifying an image copy operation ----- = Description------ For 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D' images, copies are--- performed slice by slice starting with the @z@ member of the @srcOffset@--- or @dstOffset@, and copying @depth@ slices. For images with multiple--- layers, copies are performed layer by layer starting with the--- @baseArrayLayer@ member of the @srcSubresource@ or @dstSubresource@ and--- copying @layerCount@ layers. Image data /can/ be copied between images--- with different image types. If one image is--- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D' and the other image is--- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D' with multiple layers, then--- each slice is copied to or from a different layer; @depth@ slices in the--- 3D image correspond to @layerCount@ layers in the 2D image, with an--- effective @depth@ of @1@ used for the 2D image.--- -- == Valid Usage -- -- -   #VUID-VkImageCopy-extent-00140# The number of slices of the @extent@@@ -15943,54 +15910,6 @@   -- | VkBufferImageCopy - Structure specifying a buffer image copy operation------ = Description------ When copying to or from a depth or stencil aspect, the data in buffer--- memory uses a layout that is a (mostly) tightly packed representation of--- the depth or stencil data. Specifically:------ -   data copied to or from the stencil aspect of any depth\/stencil---     format is tightly packed with one---     'Vulkan.Core10.Enums.Format.FORMAT_S8_UINT' value per texel.------ -   data copied to or from the depth aspect of a---     'Vulkan.Core10.Enums.Format.FORMAT_D16_UNORM' or---     'Vulkan.Core10.Enums.Format.FORMAT_D16_UNORM_S8_UINT' format is---     tightly packed with one---     'Vulkan.Core10.Enums.Format.FORMAT_D16_UNORM' value per texel.------ -   data copied to or from the depth aspect of a---     'Vulkan.Core10.Enums.Format.FORMAT_D32_SFLOAT' or---     'Vulkan.Core10.Enums.Format.FORMAT_D32_SFLOAT_S8_UINT' format is---     tightly packed with one---     'Vulkan.Core10.Enums.Format.FORMAT_D32_SFLOAT' value per texel.------ -   data copied to or from the depth aspect of a---     'Vulkan.Core10.Enums.Format.FORMAT_X8_D24_UNORM_PACK32' or---     'Vulkan.Core10.Enums.Format.FORMAT_D24_UNORM_S8_UINT' format is---     packed with one 32-bit word per texel with the D24 value in the LSBs---     of the word, and undefined values in the eight MSBs.------ Note------ To copy both the depth and stencil aspects of a depth\/stencil format,--- two entries in @pRegions@ /can/ be used, where one specifies the depth--- aspect in @imageSubresource@, and the other specifies the stencil--- aspect.------ Because depth or stencil aspect buffer to image copies /may/ require--- format conversions on some implementations, they are not supported on--- queues that do not support graphics.------ When copying to a depth aspect, and the--- @VK_EXT_depth_range_unrestricted@ extension is not enabled, the data in--- buffer memory /must/ be in the range [0,1], or the resulting values are--- undefined.------ Copies are done layer by layer starting with image layer--- @baseArrayLayer@ member of @imageSubresource@. @layerCount@ layers are--- copied from the source image or to the destination image. -- -- == Valid Usage --
src/Vulkan/Core10/DescriptorSet.hs view
@@ -2160,29 +2160,6 @@ -- -- = Description ----- -   @pImmutableSamplers@ affects initialization of samplers. If---     @descriptorType@ specifies a---     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER' or---     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'---     type descriptor, then @pImmutableSamplers@ /can/ be used to---     initialize a set of /immutable samplers/. Immutable samplers are---     permanently bound into the set layout and /must/ not be changed;---     updating a---     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER'---     descriptor with immutable samplers is not allowed and updates to a---     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'---     descriptor with immutable samplers does not modify the samplers (the---     image views are updated, but the sampler updates are ignored). If---     @pImmutableSamplers@ is not @NULL@, then it is a pointer to an array---     of sampler handles that will be copied into the set layout and used---     for the corresponding binding. Only the sampler handles are copied;---     the sampler objects /must/ not be destroyed before the final use of---     the set layout and any descriptor pools and sets created using it.---     If @pImmutableSamplers@ is @NULL@, then the sampler slots are---     dynamic and sampler handles /must/ be bound into descriptor sets---     using this layout. If @descriptorType@ is not one of these---     descriptor types, then @pImmutableSamplers@ is ignored.--- -- The above layout definition allows the descriptor bindings to be -- specified sparsely such that not all binding numbers between 0 and the -- maximum binding number need to be specified in the @pBindings@ array.@@ -2290,7 +2267,27 @@     -- combinations of stages /can/ use a descriptor binding, and in particular     -- a binding /can/ be used by both graphics stages and the compute stage.     stageFlags :: ShaderStageFlags-  , -- No documentation found for Nested "VkDescriptorSetLayoutBinding" "pImmutableSamplers"+  , -- | @pImmutableSamplers@ affects initialization of samplers. If+    -- @descriptorType@ specifies a+    -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER' or+    -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+    -- type descriptor, then @pImmutableSamplers@ /can/ be used to initialize a+    -- set of /immutable samplers/. Immutable samplers are permanently bound+    -- into the set layout and /must/ not be changed; updating a+    -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER' descriptor+    -- with immutable samplers is not allowed and updates to a+    -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+    -- descriptor with immutable samplers does not modify the samplers (the+    -- image views are updated, but the sampler updates are ignored). If+    -- @pImmutableSamplers@ is not @NULL@, then it is a pointer to an array of+    -- sampler handles that will be copied into the set layout and used for the+    -- corresponding binding. Only the sampler handles are copied; the sampler+    -- objects /must/ not be destroyed before the final use of the set layout+    -- and any descriptor pools and sets created using it. If+    -- @pImmutableSamplers@ is @NULL@, then the sampler slots are dynamic and+    -- sampler handles /must/ be bound into descriptor sets using this layout.+    -- If @descriptorType@ is not one of these descriptor types, then+    -- @pImmutableSamplers@ is ignored.     immutableSamplers :: Vector Sampler   }   deriving (Typeable)
src/Vulkan/Core10/Device.hs view
@@ -192,6 +192,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_atomic_float (PhysicalDeviceShaderAtomicFloatFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64 (PhysicalDeviceShaderAtomicInt64Features) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_clock (PhysicalDeviceShaderClockFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_ARM_shader_core_builtins (PhysicalDeviceShaderCoreBuiltinsFeaturesARM) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeatures) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD)@@ -925,6 +926,7 @@ --     'Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT', --     'Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features', --     'Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR',+--     'Vulkan.Extensions.VK_ARM_shader_core_builtins.PhysicalDeviceShaderCoreBuiltinsFeaturesARM', --     'Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeatures', --     'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', --     'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD',@@ -1041,6 +1043,7 @@   getNext DeviceCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsFeaturesARM = Just f     | Just Refl <- eqT @e @PhysicalDeviceFaultFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceOpticalFlowFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceAddressBindingReportFeaturesEXT = Just f
src/Vulkan/Core10/Enums/DynamicState.hs view
@@ -305,7 +305,7 @@  -- | 'DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT' specifies that the -- @depthClipEnable@ state in--- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT'+-- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT' -- will be ignored and /must/ be set dynamically with -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT' -- before any draw call.
src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs view
@@ -156,8 +156,9 @@ -- -- -   When creating multiple pipelines, --     'PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT' specifies that control---     will be returned to the application on failure of the corresponding---     pipeline rather than continuing to create additional pipelines.+--     will be returned to the application if any individual pipeline+--     returns a result which is not 'Vulkan.Core10.Enums.Result.SUCCESS'+--     rather than continuing to create additional pipelines. -- -- -   'PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV' specifies that the --     pipeline is allowed to use @OpTraceRayMotionNV@.
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -49,6 +49,8 @@                                                         , STRUCTURE_TYPE_MEMORY_BARRIER                                                         , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                                         , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM                                                         , STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT                                                         , STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC@@ -1122,6 +1124,8 @@ -- 'Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features', -- 'Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR',+-- 'Vulkan.Extensions.VK_ARM_shader_core_builtins.PhysicalDeviceShaderCoreBuiltinsFeaturesARM',+-- 'Vulkan.Extensions.VK_ARM_shader_core_builtins.PhysicalDeviceShaderCoreBuiltinsPropertiesARM', -- 'Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD', -- 'Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD', -- 'Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeatures',@@ -1536,6 +1540,12 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO" pattern STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = StructureType 48 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = StructureType 1000497001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = StructureType 1000497000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT" pattern STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = StructureType 1000351002 @@ -3404,6 +3414,8 @@   , STRUCTURE_TYPE_MEMORY_BARRIER   , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO   , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM   , STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT   , STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC@@ -4204,6 +4216,14 @@   ,     ( STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO     , "LOADER_DEVICE_CREATE_INFO"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM+    , "PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM+    , "PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM"     )   ,     ( STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -550,6 +550,7 @@ -- 'Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features', -- 'Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR',+-- 'Vulkan.Extensions.VK_ARM_shader_core_builtins.PhysicalDeviceShaderCoreBuiltinsFeaturesARM', -- 'Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeatures', -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', -- 'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD',
src/Vulkan/Core10/OtherTypes.hs view
@@ -160,9 +160,10 @@ -- access types in the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-access-masks source access mask> -- specified by @srcAccessMask@. If @srcAccessMask@ includes--- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_HOST_WRITE_BIT', memory--- writes performed by that access type are also made visible, as that--- access type is not performed through a resource.+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_HOST_WRITE_BIT', a+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-dependencies-available-and-visible memory domain operation>+-- is performed where available memory in the host domain is also made+-- available to the device domain. -- -- The second -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-dependencies-access-scopes access scope>@@ -171,9 +172,18 @@ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-access-masks destination access mask> -- specified by @dstAccessMask@. If @dstAccessMask@ includes -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_HOST_WRITE_BIT' or--- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_HOST_READ_BIT', available--- memory writes are also made visible to accesses of those types, as those--- access types are not performed through a resource.+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_HOST_READ_BIT', a+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-dependencies-available-and-visible memory domain operation>+-- is performed where available memory in the device domain is also made+-- available to the host domain.+--+-- Note+--+-- When+-- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_HOST_COHERENT_BIT'+-- is used, available memory in host domain is automatically made visible+-- to host domain, and any host write is automatically made available to+-- host domain. -- -- If @srcQueueFamilyIndex@ is not equal to @dstQueueFamilyIndex@, and -- @srcQueueFamilyIndex@ is equal to the current queue family, then the
src/Vulkan/Core10/Queue.hs view
@@ -815,9 +815,6 @@ --     of 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits' --     values ----- -   #VUID-VkSubmitInfo-pWaitDstStageMask-requiredbitmask# Each element---     of @pWaitDstStageMask@ /must/ not be @0@--- -- -   #VUID-VkSubmitInfo-pCommandBuffers-parameter# If --     @commandBufferCount@ is not @0@, @pCommandBuffers@ /must/ be a valid --     pointer to an array of @commandBufferCount@ valid
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -251,6 +251,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_atomic_float (PhysicalDeviceShaderAtomicFloatFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64 (PhysicalDeviceShaderAtomicInt64Features) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_clock (PhysicalDeviceShaderClockFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_ARM_shader_core_builtins (PhysicalDeviceShaderCoreBuiltinsFeaturesARM)+import {-# SOURCE #-} Vulkan.Extensions.VK_ARM_shader_core_builtins (PhysicalDeviceShaderCoreBuiltinsPropertiesARM) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_core_properties2 (PhysicalDeviceShaderCoreProperties2AMD) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_core_properties (PhysicalDeviceShaderCorePropertiesAMD) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeatures)@@ -805,7 +807,7 @@ -- features defined by extensions. This structure /can/ be used in -- 'getPhysicalDeviceFeatures2' or /can/ be included in the @pNext@ chain -- of a 'Vulkan.Core10.Device.DeviceCreateInfo' structure, in which case it--- controls which features are enabled in the device in lieu of+-- controls which features are enabled on the device in lieu of -- @pEnabledFeatures@. -- -- == Valid Usage (Implicit)@@ -837,6 +839,7 @@   getNext PhysicalDeviceFeatures2{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsFeaturesARM = Just f     | Just Refl <- eqT @e @PhysicalDeviceFaultFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceOpticalFlowFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceAddressBindingReportFeaturesEXT = Just f@@ -1072,6 +1075,7 @@ --     'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT', --     'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT', --     'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties',+--     'Vulkan.Extensions.VK_ARM_shader_core_builtins.PhysicalDeviceShaderCoreBuiltinsPropertiesARM', --     'Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD', --     'Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD', --     'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductProperties',@@ -1121,6 +1125,7 @@   getNext PhysicalDeviceProperties2{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceProperties2 e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsPropertiesARM = Just f     | Just Refl <- eqT @e @PhysicalDeviceOpticalFlowPropertiesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceImageProcessingPropertiesQCOM = Just f     | Just Refl <- eqT @e @PhysicalDevicePipelineRobustnessPropertiesEXT = Just f
src/Vulkan/Core12.hs view
@@ -1547,7 +1547,7 @@     -- @robustBufferAccessUpdateAfterBind@ is a boolean value indicating     -- whether     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>-    -- /can/ be enabled in a device simultaneously with+    -- /can/ be enabled on a device simultaneously with     -- @descriptorBindingUniformBufferUpdateAfterBind@,     -- @descriptorBindingStorageBufferUpdateAfterBind@,     -- @descriptorBindingUniformTexelBufferUpdateAfterBind@, and\/or
src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs view
@@ -478,7 +478,7 @@     -- @robustBufferAccessUpdateAfterBind@ is a boolean value indicating     -- whether     -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>-    -- /can/ be enabled in a device simultaneously with+    -- /can/ be enabled on a device simultaneously with     -- @descriptorBindingUniformBufferUpdateAfterBind@,     -- @descriptorBindingStorageBufferUpdateAfterBind@,     -- @descriptorBindingUniformTexelBufferUpdateAfterBind@, and\/or
src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs view
@@ -114,10 +114,12 @@ -- -- = Description ----- This command is functionally identical to--- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyBuffer', but includes--- extensible sub-structures that include @sType@ and @pNext@ parameters,--- allowing them to be more easily extended.+-- Each source region specified by @pCopyBufferInfo->pname@:pRegions is+-- copied from the source buffer to the destination region of the+-- destination buffer. If any of the specified regions in+-- @pCopyBufferInfo->pname@:srcBuffer overlaps in memory with any of the+-- specified regions in @pCopyBufferInfo->pname@:dstBuffer, values read+-- from those overlapping regions are undefined. -- -- == Valid Usage --@@ -1312,14 +1314,6 @@  -- | VkCopyBufferInfo2 - Structure specifying parameters of a buffer copy -- command------ = Description------ Members defined by this structure with the same name as parameters in--- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyBuffer' have the identical--- effect to those parameters; the child structure 'BufferCopy2' is a--- variant of 'Vulkan.Core10.CommandBufferBuilding.BufferCopy' which--- includes @sType@ and @pNext@ parameters, allowing it to be extended. -- -- == Valid Usage --
src/Vulkan/Extensions.hs view
@@ -26,6 +26,7 @@                           , module Vulkan.Extensions.VK_AMD_texture_gather_bias_lod                           , module Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer                           , module Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access+                          , module Vulkan.Extensions.VK_ARM_shader_core_builtins                           , module Vulkan.Extensions.VK_EXT_4444_formats                           , module Vulkan.Extensions.VK_EXT_acquire_drm_display                           , module Vulkan.Extensions.VK_EXT_acquire_xlib_display@@ -327,6 +328,7 @@ import Vulkan.Extensions.VK_AMD_texture_gather_bias_lod import Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer import Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access+import Vulkan.Extensions.VK_ARM_shader_core_builtins import Vulkan.Extensions.VK_EXT_4444_formats import Vulkan.Extensions.VK_EXT_acquire_drm_display import Vulkan.Extensions.VK_EXT_acquire_xlib_display
+ src/Vulkan/Extensions/VK_ARM_shader_core_builtins.hs view
@@ -0,0 +1,308 @@+{-# language CPP #-}+-- | = Name+--+-- VK_ARM_shader_core_builtins - device extension+--+-- == VK_ARM_shader_core_builtins+--+-- [__Name String__]+--     @VK_ARM_shader_core_builtins@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     498+--+-- [__Revision__]+--     1+--+-- [__Extension and Version Dependencies__]+--+--     -   Requires support for Vulkan 1.0+--+-- [__Contact__]+--+--     -   Kevin Petit+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_ARM_shader_core_builtins] @kevinpetit%0A*Here describe the issue or question you have about the VK_ARM_shader_core_builtins extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2022-10-05+--+-- [__Interactions and External Dependencies__]+--+--     -   This extension requires+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/ARM/SPV_ARM_core_builtins.html SPV_ARM_core_builtins>.+--+--     -   This extension provides API support for+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/arm/GLSL_ARM_shader_core_builtins.txt GL_ARM_shader_core_builtins>+--+-- [__Contributors__]+--+--     -   Kevin Petit, Arm Ltd.+--+--     -   Jan-Harald Fredriksen, Arm Ltd.+--+-- == Description+--+-- This extension provides the ability to determine device-specific+-- properties on Arm GPUs. It exposes properties for the number of shader+-- cores, the maximum number of warps that can run on a shader core, and+-- shader builtins to enable invocations to identify which core and warp a+-- shader invocation is executing on.+--+-- This extension enables support for the SPIR-V @CoreBuiltinsARM@+-- capability.+--+-- These properties and built-ins can be used for debugging or performance+-- optimisation purposes. A typical optimisation example would be to use+-- @CoreIDARM@ to select a per-shader-core instance of a data structure in+-- algorithms that use atomics so as to reduce contention.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderCoreBuiltinsFeaturesARM'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+--     -   'PhysicalDeviceShaderCoreBuiltinsPropertiesARM'+--+-- == New Enum Constants+--+-- -   'ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME'+--+-- -   'ARM_SHADER_CORE_BUILTINS_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM'+--+-- == New or Modified Built-In Variables+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-corecountarm CoreCountARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-coremaxidarm CoreMaxIDARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-coreidarm CoreIDARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-warpmaxidarm WarpsMaxIDARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-warpidarm WarpIDARM>+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-CoreBuiltinsARM CoreBuiltinsARM>+--+-- == Issues+--+-- None.+--+-- == Version History+--+-- -   Revision 1, 2022-10-05 (Kevin Petit)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceShaderCoreBuiltinsFeaturesARM',+-- 'PhysicalDeviceShaderCoreBuiltinsPropertiesARM'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_ARM_shader_core_builtins Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_ARM_shader_core_builtins  ( PhysicalDeviceShaderCoreBuiltinsPropertiesARM(..)+                                                      , PhysicalDeviceShaderCoreBuiltinsFeaturesARM(..)+                                                      , ARM_SHADER_CORE_BUILTINS_SPEC_VERSION+                                                      , pattern ARM_SHADER_CORE_BUILTINS_SPEC_VERSION+                                                      , ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME+                                                      , pattern ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME+                                                      ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Word (Word32)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM))+-- | VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM - Structure describing+-- shader core builtins properties supported by an implementation+--+-- = Description+--+-- If the 'PhysicalDeviceShaderCoreBuiltinsPropertiesARM' structure is+-- included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',+-- it is filled in with each corresponding implementation-dependent+-- property.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ARM_shader_core_builtins VK_ARM_shader_core_builtins>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderCoreBuiltinsPropertiesARM = PhysicalDeviceShaderCoreBuiltinsPropertiesARM+  { -- | #limits-shaderCoreCount# @shaderCoreCount@ is the number of shader cores+    -- on the device.+    shaderCoreCount :: Word32+  , -- | #limits-shaderWarpsPerCore# @shaderWarpsPerCore@ is the maximum number+    -- of simultaneously executing warps on a shader core.+    shaderWarpsPerCore :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderCoreBuiltinsPropertiesARM)+#endif+deriving instance Show PhysicalDeviceShaderCoreBuiltinsPropertiesARM++instance ToCStruct PhysicalDeviceShaderCoreBuiltinsPropertiesARM where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceShaderCoreBuiltinsPropertiesARM{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (shaderCoreCount)+    poke ((p `plusPtr` 20 :: Ptr Word32)) (shaderWarpsPerCore)+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)+    f++instance FromCStruct PhysicalDeviceShaderCoreBuiltinsPropertiesARM where+  peekCStruct p = do+    shaderCoreCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))+    shaderWarpsPerCore <- peek @Word32 ((p `plusPtr` 20 :: Ptr Word32))+    pure $ PhysicalDeviceShaderCoreBuiltinsPropertiesARM+             shaderCoreCount shaderWarpsPerCore++instance Storable PhysicalDeviceShaderCoreBuiltinsPropertiesARM where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderCoreBuiltinsPropertiesARM where+  zero = PhysicalDeviceShaderCoreBuiltinsPropertiesARM+           zero+           zero+++-- | VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM - Structure describing the+-- shader core builtins features that can be supported by an implementation+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDeviceShaderCoreBuiltinsFeaturesARM' structure is+-- included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',+-- it is filled in to indicate whether each corresponding feature is+-- supported. 'PhysicalDeviceShaderCoreBuiltinsFeaturesARM' /can/ also be+-- used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to+-- selectively enable these features.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ARM_shader_core_builtins VK_ARM_shader_core_builtins>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderCoreBuiltinsFeaturesARM = PhysicalDeviceShaderCoreBuiltinsFeaturesARM+  { -- | #features-shaderCoreBuiltins# @shaderCoreBuiltins@ indicates whether the+    -- implementation supports the SPIR-V @CoreBuiltinsARM@ capability.+    shaderCoreBuiltins :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderCoreBuiltinsFeaturesARM)+#endif+deriving instance Show PhysicalDeviceShaderCoreBuiltinsFeaturesARM++instance ToCStruct PhysicalDeviceShaderCoreBuiltinsFeaturesARM where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceShaderCoreBuiltinsFeaturesARM{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderCoreBuiltins))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceShaderCoreBuiltinsFeaturesARM where+  peekCStruct p = do+    shaderCoreBuiltins <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceShaderCoreBuiltinsFeaturesARM+             (bool32ToBool shaderCoreBuiltins)++instance Storable PhysicalDeviceShaderCoreBuiltinsFeaturesARM where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderCoreBuiltinsFeaturesARM where+  zero = PhysicalDeviceShaderCoreBuiltinsFeaturesARM+           zero+++type ARM_SHADER_CORE_BUILTINS_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION"+pattern ARM_SHADER_CORE_BUILTINS_SPEC_VERSION :: forall a . Integral a => a+pattern ARM_SHADER_CORE_BUILTINS_SPEC_VERSION = 1+++type ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME = "VK_ARM_shader_core_builtins"++-- No documentation found for TopLevel "VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME"+pattern ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME = "VK_ARM_shader_core_builtins"+
+ src/Vulkan/Extensions/VK_ARM_shader_core_builtins.hs-boot view
@@ -0,0 +1,149 @@+{-# language CPP #-}+-- | = Name+--+-- VK_ARM_shader_core_builtins - device extension+--+-- == VK_ARM_shader_core_builtins+--+-- [__Name String__]+--     @VK_ARM_shader_core_builtins@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     498+--+-- [__Revision__]+--     1+--+-- [__Extension and Version Dependencies__]+--+--     -   Requires support for Vulkan 1.0+--+-- [__Contact__]+--+--     -   Kevin Petit+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_ARM_shader_core_builtins] @kevinpetit%0A*Here describe the issue or question you have about the VK_ARM_shader_core_builtins extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2022-10-05+--+-- [__Interactions and External Dependencies__]+--+--     -   This extension requires+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/ARM/SPV_ARM_core_builtins.html SPV_ARM_core_builtins>.+--+--     -   This extension provides API support for+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/arm/GLSL_ARM_shader_core_builtins.txt GL_ARM_shader_core_builtins>+--+-- [__Contributors__]+--+--     -   Kevin Petit, Arm Ltd.+--+--     -   Jan-Harald Fredriksen, Arm Ltd.+--+-- == Description+--+-- This extension provides the ability to determine device-specific+-- properties on Arm GPUs. It exposes properties for the number of shader+-- cores, the maximum number of warps that can run on a shader core, and+-- shader builtins to enable invocations to identify which core and warp a+-- shader invocation is executing on.+--+-- This extension enables support for the SPIR-V @CoreBuiltinsARM@+-- capability.+--+-- These properties and built-ins can be used for debugging or performance+-- optimisation purposes. A typical optimisation example would be to use+-- @CoreIDARM@ to select a per-shader-core instance of a data structure in+-- algorithms that use atomics so as to reduce contention.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderCoreBuiltinsFeaturesARM'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+--     -   'PhysicalDeviceShaderCoreBuiltinsPropertiesARM'+--+-- == New Enum Constants+--+-- -   'ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME'+--+-- -   'ARM_SHADER_CORE_BUILTINS_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM'+--+-- == New or Modified Built-In Variables+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-corecountarm CoreCountARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-coremaxidarm CoreMaxIDARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-coreidarm CoreIDARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-warpmaxidarm WarpsMaxIDARM>+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-warpidarm WarpIDARM>+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-CoreBuiltinsARM CoreBuiltinsARM>+--+-- == Issues+--+-- None.+--+-- == Version History+--+-- -   Revision 1, 2022-10-05 (Kevin Petit)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceShaderCoreBuiltinsFeaturesARM',+-- 'PhysicalDeviceShaderCoreBuiltinsPropertiesARM'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_ARM_shader_core_builtins Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_ARM_shader_core_builtins  ( PhysicalDeviceShaderCoreBuiltinsFeaturesARM+                                                      , PhysicalDeviceShaderCoreBuiltinsPropertiesARM+                                                      ) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceShaderCoreBuiltinsFeaturesARM++instance ToCStruct PhysicalDeviceShaderCoreBuiltinsFeaturesARM+instance Show PhysicalDeviceShaderCoreBuiltinsFeaturesARM++instance FromCStruct PhysicalDeviceShaderCoreBuiltinsFeaturesARM+++data PhysicalDeviceShaderCoreBuiltinsPropertiesARM++instance ToCStruct PhysicalDeviceShaderCoreBuiltinsPropertiesARM+instance Show PhysicalDeviceShaderCoreBuiltinsPropertiesARM++instance FromCStruct PhysicalDeviceShaderCoreBuiltinsPropertiesARM+
src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs view
@@ -128,6 +128,14 @@ -- --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT' --+-- == New Built-In Variables+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-fullycoveredext FullyCoveredEXT>+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-FragmentFullyCoveredEXT FragmentFullyCoveredEXT>+-- -- == Version History -- -- -   Revision 1.1, 2020-09-06 (Piers Daniell)
src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs-boot view
@@ -128,6 +128,14 @@ -- --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT' --+-- == New Built-In Variables+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-fullycoveredext FullyCoveredEXT>+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-FragmentFullyCoveredEXT FragmentFullyCoveredEXT>+-- -- == Version History -- -- -   Revision 1.1, 2020-09-06 (Piers Daniell)
src/Vulkan/Extensions/VK_EXT_custom_border_color.hs view
@@ -292,11 +292,25 @@ -- | VkSamplerCustomBorderColorCreateInfoEXT - Structure specifying custom -- border color --+-- = Description+--+-- Note+--+-- If @format@ is a combined depth stencil format, the aspect is determined+-- by the value of+-- 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@pname@:borderColor. If+-- 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@pname@:borderColor is+-- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_CUSTOM_EXT', the+-- depth aspect is considered. If+-- 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@pname@:borderColor is+-- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_INT_CUSTOM_EXT', the+-- stencil aspect is considered.+-- -- == Valid Usage ----- -   #VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-04013# If---     provided @format@ is not---     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED' then the+-- -   #VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-07605# If+--     @format@ is not 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED' and+--     @format@ is not a combined depth stencil format then the --     'Vulkan.Core10.Sampler.SamplerCreateInfo'::@borderColor@ type /must/ --     match the sampled type of the provided @format@, as shown in the --     /SPIR-V Sampled Type/ column of the
src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs view
@@ -34,9 +34,6 @@ -- --     -   Eric Werness ----- [__Extension Proposal__]---     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_EXT_opacity_micromap.adoc VK_EXT_opacity_micromap>--- -- == Other Extension Metadata -- -- [__Last Modified Date__]@@ -45,10 +42,10 @@ -- [__Interactions and External Dependencies__] -- --     -   This extension requires---         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_ray_tracing_opacity_micromap.html SPV_EXT_ray_tracing_opacity_micromap>+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_opacity_micromap.html SPV_EXT_opacity_micromap> -- --     -   This extension provides API support for---         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/EXT/GLSL_EXT_ray_tracing_opacity_micromap.txt GLSL_EXT_ray_tracing_opacity_micromap>+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_opacity_micromap.txt GLSL_EXT_opacity_micromap> -- -- [__Contributors__] --
src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs-boot view
@@ -34,9 +34,6 @@ -- --     -   Eric Werness ----- [__Extension Proposal__]---     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_EXT_opacity_micromap.adoc VK_EXT_opacity_micromap>--- -- == Other Extension Metadata -- -- [__Last Modified Date__]@@ -45,10 +42,10 @@ -- [__Interactions and External Dependencies__] -- --     -   This extension requires---         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_ray_tracing_opacity_micromap.html SPV_EXT_ray_tracing_opacity_micromap>+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_opacity_micromap.html SPV_EXT_opacity_micromap> -- --     -   This extension provides API support for---         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/EXT/GLSL_EXT_ray_tracing_opacity_micromap.txt GLSL_EXT_ray_tracing_opacity_micromap>+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_opacity_micromap.txt GLSL_EXT_opacity_micromap> -- -- [__Contributors__] --
src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs view
@@ -120,11 +120,11 @@ -- Applications can prevent unexpected compilation by setting -- 'PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT' on -- @Vk*PipelineCreateInfo@::@flags@. When set, an ICD must not attempt--- pipeline or shader compilation to create the pipeline object. The ICD--- will return the result 'PIPELINE_COMPILE_REQUIRED_EXT'. An ICD may still--- return a valid 'Vulkan.Core10.Handles.Pipeline' object by either--- re-using existing pre-compiled objects such as those from a pipeline--- cache, or derivative pipelines.+-- pipeline or shader compilation to create the pipeline object. In such a+-- case, if the implementation fails to create a pipeline without+-- compilation, the implementation /must/ return the result+-- 'PIPELINE_COMPILE_REQUIRED_EXT' and return+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' for the pipeline. -- -- By default @vkCreate*Pipelines@ calls must attempt to create all -- pipelines before returning. Setting
src/Vulkan/Extensions/VK_EXT_pipeline_robustness.hs view
@@ -290,6 +290,17 @@ -- and a pipeline stage, the 'PipelineRobustnessCreateInfoEXT' specified -- for the pipeline stage will take precedence. --+-- When 'PipelineRobustnessCreateInfoEXT' is specified for a pipeline, it+-- only affects the subset of the pipeline that is specified by the create+-- info, as opposed to subsets linked from pipeline libraries. For+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo', that subset is+-- specified by+-- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@.+-- For+-- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR',+-- that subset is specified by the specific stages in+-- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR'::@pStages@.+-- -- == Valid Usage -- -- -   #VUID-VkPipelineRobustnessCreateInfoEXT-pipelineRobustness-06926# If@@ -566,8 +577,8 @@   deriving newtype (Eq, Ord, Storable, Zero)  -- | 'PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT' specifies that--- this pipeline stage follows the robustness behavior of the logical--- device that created this pipeline+-- this pipeline stage follows the behavior of robustness features that are+-- enabled on the device that created this pipeline pattern PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = PipelineRobustnessBufferBehaviorEXT 0  -- | 'PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT' specifies that buffer@@ -652,8 +663,8 @@   deriving newtype (Eq, Ord, Storable, Zero)  -- | 'PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT' specifies that--- this pipeline stage follows the robustness behavior of the logical--- device that created this pipeline+-- this pipeline stage follows the behavior of robustness features that are+-- enabled on the device that created this pipeline pattern PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = PipelineRobustnessImageBehaviorEXT 0  -- | 'PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT' specifies that image
src/Vulkan/Extensions/VK_NV_optical_flow.hs view
@@ -544,14 +544,14 @@ -- -- 'Vulkan.Core10.Enums.Format.FORMAT_R16G16_S10_5_NV' is initially -- supported for images with--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#opticalflow-usage optical usage>+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#opticalflow-usage optical flow usage> -- 'OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV', 'OPTICAL_FLOW_USAGE_HINT_BIT_NV' and -- 'OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV'. -- -- 'Vulkan.Core10.Enums.Format.FORMAT_R8_UINT' and -- 'Vulkan.Core10.Enums.Format.FORMAT_R32_UINT' are initially supported for -- images with--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#opticalflow-usage optical usage>+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#opticalflow-usage optical flow usage> -- 'OPTICAL_FLOW_USAGE_COST_BIT_NV'. It is recommended to use -- 'Vulkan.Core10.Enums.Format.FORMAT_R8_UINT' because of the lower -- bandwidth.
src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs view
@@ -155,6 +155,29 @@ -- | VkCopyCommandTransformInfoQCOM - Structure describing transform -- parameters of rotated copy command --+-- = Description+--+-- Including this structure in the @pNext@ chain of+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2'+-- defines a rotation to be performed when copying between an image and a+-- buffer. Including this structure in the @pNext@ chain of+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BlitImageInfo2'+-- defines a rotation to be performed when blitting between two images. If+-- this structure is not specified in either case, the implementation+-- behaves as if it was specified with a @transform@ equal to+-- 'Vulkan.Extensions.VK_KHR_surface.SURFACE_TRANSFORM_IDENTITY_BIT_KHR'.+--+-- Specifying a transform for a copy between an image and a buffer+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#copies-buffers-images-rotation-addressing rotates the region accessed in the image around the offset>.+-- Specifying a transform for a blit performs a similar transform as+-- described in+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#copies-images-scaling-rotation Image Blits with Scaling and Rotation>.+--+-- Rotations other than+-- 'Vulkan.Extensions.VK_KHR_surface.SURFACE_TRANSFORM_IDENTITY_BIT_KHR'+-- /can/ only be specified for single-plane 2D images with a 1x1x1+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-compatibility-classes texel block extent>.+-- -- == Valid Usage (Implicit) -- -- = See Also
src/Vulkan/SPIRVRequirements.hs view
@@ -33,6 +33,7 @@ import Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR(..)) import Vulkan.Extensions.VK_EXT_shader_atomic_float2 (PhysicalDeviceShaderAtomicFloat2FeaturesEXT(..)) import Vulkan.Extensions.VK_EXT_shader_atomic_float (PhysicalDeviceShaderAtomicFloatFeaturesEXT(..))+import Vulkan.Extensions.VK_ARM_shader_core_builtins (PhysicalDeviceShaderCoreBuiltinsFeaturesARM(..)) import Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT) import Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeatures(..)) import Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures(..))@@ -62,7 +63,9 @@ 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_trinary_minmax (pattern AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME) import Vulkan.Extensions.VK_AMD_texture_gather_bias_lod (pattern AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME)+import Vulkan.Extensions.VK_ARM_shader_core_builtins (pattern ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_buffer_device_address (pattern EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME)+import Vulkan.Extensions.VK_EXT_conservative_rasterization (pattern EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_descriptor_indexing (pattern EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_fragment_density_map (pattern EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_fragment_shader_interlock (pattern EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME)@@ -2006,6 +2009,20 @@           , deviceExtensionMinVersion = 0           }       ]+  "FragmentFullyCoveredEXT" ->+    (,)+      [ RequireInstanceExtension+          { instanceExtensionLayerName = Nothing+          , instanceExtensionName = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+          , instanceExtensionMinVersion = 0+          }+      ]+      [ RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]   "Float16" ->     (,)       [ RequireInstanceVersion $ MAKE_API_VERSION 1 2 0@@ -3188,6 +3205,20 @@       , RequireDeviceExtension           { deviceExtensionLayerName = Nothing           , deviceExtensionName = KHR_MAINTENANCE_3_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "CoreBuiltinsARM" ->+    (,)+      []+      [ RequireDeviceFeature+          { featureName = "shaderCoreBuiltins"+          , checkFeature = \PhysicalDeviceShaderCoreBuiltinsFeaturesARM{shaderCoreBuiltins} -> shaderCoreBuiltins+          , enableFeature = \_ -> PhysicalDeviceShaderCoreBuiltinsFeaturesARM{shaderCoreBuiltins = True}+          }+      , RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME           , deviceExtensionMinVersion = 0           }       ]
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 230+pattern HEADER_VERSION = 231   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 230+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 231   pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           vulkan-version:        3.23+version:        3.23.1 synopsis:       Bindings to the Vulkan graphics API. description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category:       Graphics@@ -309,6 +309,7 @@       Vulkan.Extensions.VK_AMD_texture_gather_bias_lod       Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer       Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access+      Vulkan.Extensions.VK_ARM_shader_core_builtins       Vulkan.Extensions.VK_EXT_4444_formats       Vulkan.Extensions.VK_EXT_acquire_drm_display       Vulkan.Extensions.VK_EXT_acquire_xlib_display