packages feed

vulkan 3.6.8 → 3.6.9

raw patch · 17 files changed

+640/−71 lines, 17 files

Files

changelog.md view
@@ -2,7 +2,8 @@  ## WIP -## [3.6.8] - 2020-10-04+## [3.6.9] - 2020-10-07+  - Bump API version to v1.2.156  ## [3.6.8] - 2020-09-28   - Bump API version to v1.2.155
src/Vulkan/CStruct/Extends.hs view
@@ -152,6 +152,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template (DescriptorUpdateTemplateCreateInfo) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template (DescriptorUpdateTemplateEntry) import {-# SOURCE #-} Vulkan.Core10.Device (DeviceCreateInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (DeviceDeviceMemoryReportCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (DeviceDiagnosticsConfigCreateInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DeviceEventInfoEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group (DeviceGroupBindSparseInfo)@@ -164,6 +165,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupSwapchainCreateInfoKHR) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (DeviceMemoryOpaqueCaptureAddressInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_memory_overallocation_behavior (DeviceMemoryOverallocationCreateInfoAMD)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (DeviceMemoryReportCallbackDataEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (DevicePrivateDataCreateInfoEXT) import {-# SOURCE #-} Vulkan.Core10.Device (DeviceQueueCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_global_priority (DeviceQueueGlobalPriorityCreateInfoEXT)@@ -338,6 +340,7 @@ import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsPropertiesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (PhysicalDeviceDeviceMemoryReportFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (PhysicalDeviceDiagnosticsConfigFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_discard_rectangles (PhysicalDeviceDiscardRectanglePropertiesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties)@@ -760,6 +763,8 @@   Extends DeviceCreateInfo PhysicalDeviceShaderDrawParametersFeatures = ()   Extends DeviceCreateInfo PhysicalDeviceShaderFloat16Int8Features = ()   Extends DeviceCreateInfo PhysicalDeviceHostQueryResetFeatures = ()+  Extends DeviceCreateInfo PhysicalDeviceDeviceMemoryReportFeaturesEXT = ()+  Extends DeviceCreateInfo DeviceDeviceMemoryReportCreateInfoEXT = ()   Extends DeviceCreateInfo PhysicalDeviceDescriptorIndexingFeatures = ()   Extends DeviceCreateInfo PhysicalDeviceTimelineSemaphoreFeatures = ()   Extends DeviceCreateInfo PhysicalDevice8BitStorageFeatures = ()@@ -881,6 +886,7 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderDrawParametersFeatures = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderFloat16Int8Features = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceHostQueryResetFeatures = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceDeviceMemoryReportFeaturesEXT = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceDescriptorIndexingFeatures = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceTimelineSemaphoreFeatures = ()   Extends PhysicalDeviceFeatures2 PhysicalDevice8BitStorageFeatures = ()@@ -1261,6 +1267,8 @@   STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES -> go @PhysicalDeviceHostQueryResetFeatures   STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT -> go @DeviceQueueGlobalPriorityCreateInfoEXT   STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT -> go @DebugUtilsMessengerCreateInfoEXT+  STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT -> go @PhysicalDeviceDeviceMemoryReportFeaturesEXT+  STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT -> go @DeviceDeviceMemoryReportCreateInfoEXT   STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT -> go @ImportMemoryHostPointerInfoEXT   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT -> go @PhysicalDeviceExternalMemoryHostPropertiesEXT   STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT -> go @PhysicalDeviceConservativeRasterizationPropertiesEXT@@ -1561,6 +1569,8 @@ {-# complete (::&) :: PhysicalDeviceHostQueryResetFeatures #-} {-# complete (::&) :: DeviceQueueGlobalPriorityCreateInfoEXT #-} {-# complete (::&) :: DebugUtilsMessengerCreateInfoEXT #-}+{-# complete (::&) :: PhysicalDeviceDeviceMemoryReportFeaturesEXT #-}+{-# complete (::&) :: DeviceDeviceMemoryReportCreateInfoEXT #-} {-# complete (::&) :: ImportMemoryHostPointerInfoEXT #-} {-# complete (::&) :: PhysicalDeviceExternalMemoryHostPropertiesEXT #-} {-# complete (::&) :: PhysicalDeviceConservativeRasterizationPropertiesEXT #-}
src/Vulkan/Core10/Device.hs view
@@ -62,6 +62,7 @@ import Vulkan.Core10.Handles (Device(Device)) import Vulkan.Dynamic (DeviceCmds(pVkDestroyDevice)) import Vulkan.Core10.Enums.DeviceCreateFlags (DeviceCreateFlags)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (DeviceDeviceMemoryReportCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (DeviceDiagnosticsConfigCreateInfoNV) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation (DeviceGroupDeviceCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_memory_overallocation_behavior (DeviceMemoryOverallocationCreateInfoAMD)@@ -97,6 +98,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PhysicalDeviceDepthClipEnableFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (PhysicalDeviceDeviceMemoryReportFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (PhysicalDeviceDiagnosticsConfigFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state (PhysicalDeviceExtendedDynamicStateFeaturesEXT)@@ -606,6 +608,7 @@ -- -   Each @pNext@ member of any structure (including this one) in the --     @pNext@ chain /must/ be either @NULL@ or a pointer to a valid --     instance of+--     'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT', --     'Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV', --     'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.DeviceGroupDeviceCreateInfo', --     'Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD',@@ -628,6 +631,7 @@ --     'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT', --     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures', --     'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV',+--     'Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT', --     'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV', --     'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV', --     'Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT',@@ -685,6 +689,8 @@ -- -- -   The @sType@ value of each struct in the @pNext@ chain /must/ be --     unique, with the exception of structures of type+--     'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT'+--     or --     'Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT' -- -- -   @flags@ /must/ be @0@@@ -812,6 +818,8 @@     | Just Refl <- eqT @e @PhysicalDevice8BitStorageFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceTimelineSemaphoreFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceDescriptorIndexingFeatures = Just f+    | Just Refl <- eqT @e @DeviceDeviceMemoryReportCreateInfoEXT = Just f+    | Just Refl <- eqT @e @PhysicalDeviceDeviceMemoryReportFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceHostQueryResetFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderFloat16Int8Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderDrawParametersFeatures = Just f
src/Vulkan/Core10/Enums/ObjectType.hs view
@@ -148,6 +148,7 @@ -- -- 'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectNameInfoEXT', -- 'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_private_data.getPrivateDataEXT', -- 'Vulkan.Extensions.VK_EXT_private_data.setPrivateDataEXT' newtype ObjectType = ObjectType Int32
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -76,6 +76,9 @@                                                         , STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT+                                                        , STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT+                                                        , STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT                                                         , STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM                                                         , STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT@@ -581,6 +584,7 @@ -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport', -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo', -- 'Vulkan.Core10.Device.DeviceCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT', -- 'Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV', -- 'Vulkan.Extensions.VK_EXT_display_control.DeviceEventInfoEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupBindSparseInfo',@@ -593,6 +597,7 @@ -- 'Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR', -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo', -- 'Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD',+-- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT', -- 'Vulkan.Core10.Device.DeviceQueueCreateInfo', -- 'Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT',@@ -731,6 +736,7 @@ -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV',+-- 'Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties',@@ -1107,6 +1113,12 @@ pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = StructureType 1000286001 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = StructureType 1000286000+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"+pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = StructureType 1000284002+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT"+pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = StructureType 1000284001+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = StructureType 1000284000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM" pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = StructureType 1000282001 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"@@ -1944,6 +1956,9 @@              STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,              STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,              STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,+             STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,+             STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,+             STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,              STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,              STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,              STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,@@ -2404,6 +2419,9 @@     STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT -> showString "STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT"     STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT"     STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT"+    STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT -> showString "STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"+    STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT -> showString "STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT"+    STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT"     STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM -> showString "STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM"     STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM -> showString "STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"     STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT"@@ -2864,6 +2882,9 @@                             , ("STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT", pure STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT)                             , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT)                             , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT)+                            , ("STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT", pure STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT)+                            , ("STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT", pure STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT)+                            , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT)                             , ("STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM", pure STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM)                             , ("STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM", pure STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM)                             , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT)
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -413,6 +413,7 @@ -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT',@@ -617,6 +618,7 @@ -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo',+-- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',
src/Vulkan/Core10/FundamentalTypes.hs-boot view
@@ -91,6 +91,7 @@ -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo',+-- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',
src/Vulkan/Core10/Memory.hs view
@@ -282,11 +282,13 @@ -- Before freeing a memory object, an application /must/ ensure the memory -- object is no longer in use by the device—​for example by command buffers -- in the /pending state/. Memory /can/ be freed whilst still bound to--- resources, but those resources /must/ not be used afterwards. If there--- are still any bound images or buffers, the memory /may/ not be--- immediately released by the implementation, but /must/ be released by--- the time all bound images and buffers have been destroyed. Once memory--- is released, it is returned to the heap from which it was allocated.+-- resources, but those resources /must/ not be used afterwards. Freeing a+-- memory object releases the reference it held, if any, to its payload. If+-- there are still any bound images or buffers, the memory object’s payload+-- /may/ not be immediately released by the implementation, but /must/ be+-- released by the time all bound images and buffers have been destroyed.+-- Once all references to a payload are released, it is returned to the+-- heap from which it was allocated. -- -- How memory objects are bound to Images and Buffers is described in -- detail in the@@ -760,8 +762,13 @@ -- -- = Description ----- A 'MemoryAllocateInfo' structure defines a memory import operation if--- its @pNext@ chain includes one of the following structures:+-- The internal data of an allocated device memory object /must/ include a+-- reference to implementation-specific resources, referred to as the+-- memory object’s /payload/. Applications /can/ also import and export+-- that internal data to and from device memory objects to share data+-- between Vulkan instances and other compatible APIs. A+-- 'MemoryAllocateInfo' structure defines a memory import operation if its+-- @pNext@ chain includes one of the following structures: -- -- -   'Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR' --     with non-zero @handleType@ value@@ -784,13 +791,16 @@ -- @allocationSize@ is ignored. The implementation /must/ query the size of -- these allocations from the OS. ----- Importing memory /must/ not modify the content of the memory.--- Implementations /must/ ensure that importing memory does not enable the--- importing Vulkan instance to access any memory or resources in other--- Vulkan instances other than that corresponding to the memory object--- imported. Implementations /must/ also ensure accessing imported memory--- which has not been initialized does not allow the importing Vulkan--- instance to obtain data from the exporting Vulkan instance or+-- Whether device memory objects constructed via a memory import operation+-- hold a reference to their payload depends on the properties of the+-- handle type used to perform the import, as defined below for each valid+-- handle type. Importing memory /must/ not modify the content of the+-- memory. Implementations /must/ ensure that importing memory does not+-- enable the importing Vulkan instance to access any memory or resources+-- in other Vulkan instances other than that corresponding to the memory+-- object imported. Implementations /must/ also ensure accessing imported+-- memory which has not been initialized does not allow the importing+-- Vulkan instance to obtain data from the exporting Vulkan instance or -- vice-versa. -- -- Note@@ -802,15 +812,22 @@ -- /should/ avoid creating many small external memory objects whenever -- possible. --+-- Importing memory /must/ not increase overall heap usage within a system.+-- However, they /must/ affect the following per-process values: *+-- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties'::@maxMemoryAllocationCount@+-- *+-- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT'::@heapUsage@+-- -- When performing a memory import operation, it is the responsibility of--- the application to ensure the external handles meet all valid usage--- requirements. However, implementations /must/ perform sufficient--- validation of external handles to ensure that the operation results in a--- valid memory object which will not cause program termination, device--- loss, queue stalls, or corruption of other resources when used as--- allowed according to its allocation parameters. If the external handle--- provided does not meet these requirements, the implementation /must/--- fail the memory import operation with the error code+-- the application to ensure the external handles and their associated+-- payloads meet all valid usage requirements. However, implementations+-- /must/ perform sufficient validation of external handles and payloads to+-- ensure that the operation results in a valid memory object which will+-- not cause program termination, device loss, queue stalls, or corruption+-- of other resources when used as allowed according to its allocation+-- parameters. If the external handle provided does not meet these+-- requirements, the implementation /must/ fail the memory import operation+-- with the error code -- 'Vulkan.Core10.Enums.Result.ERROR_INVALID_EXTERNAL_HANDLE'. -- -- == Valid Usage@@ -851,21 +868,20 @@ --     type is --     'Vulkan.Extensions.VK_KHR_external_memory_capabilities.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR', --     then the values of @allocationSize@ and @memoryTypeIndex@ /must/---     match those specified when the memory object being imported was---     created+--     match those specified when the payload being imported was created. -- -- -   If the parameters define an import operation and the external handle --     specified was created by the Vulkan API, the device mask specified --     by --     'Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo'---     /must/ match that specified when the memory object being imported---     was allocated+--     /must/ match that specified when the payload being imported was+--     allocated. -- -- -   If the parameters define an import operation and the external handle --     specified was created by the Vulkan API, the list of physical --     devices that comprise the logical device passed to 'allocateMemory' --     /must/ match the list of physical devices that comprise the logical---     device on which the memory was originally allocated+--     device on which the payload was originally allocated. -- -- -   If the parameters define an import operation and the external handle --     is an NT handle or a global share handle created outside of the@@ -879,14 +895,13 @@ --     or --     'Vulkan.Extensions.VK_KHR_external_memory_capabilities.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR', --     then the values of @allocationSize@ and @memoryTypeIndex@ /must/---     match those specified when the memory object being imported was---     created+--     match those specified when the payload being imported was created. -- -- -   If the parameters define an import operation and the external handle --     type is --     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT', --     @allocationSize@ /must/ match the size specified when creating the---     Direct3D 12 heap from which the external handle was extracted+--     Direct3D 12 heap from which the payload was extracted. -- -- -   If the parameters define an import operation and the external handle --     is a POSIX file descriptor created outside of the Vulkan API, the
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -109,6 +109,7 @@ import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsPropertiesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (PhysicalDeviceDeviceMemoryReportFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (PhysicalDeviceDiagnosticsConfigFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_discard_rectangles (PhysicalDeviceDiscardRectanglePropertiesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties)@@ -701,6 +702,7 @@     | Just Refl <- eqT @e @PhysicalDevice8BitStorageFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceTimelineSemaphoreFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceDescriptorIndexingFeatures = Just f+    | Just Refl <- eqT @e @PhysicalDeviceDeviceMemoryReportFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceHostQueryResetFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderFloat16Int8Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderDrawParametersFeatures = Just f
src/Vulkan/Extensions.hs view
@@ -37,6 +37,7 @@                           , module Vulkan.Extensions.VK_EXT_depth_clip_enable                           , module Vulkan.Extensions.VK_EXT_depth_range_unrestricted                           , module Vulkan.Extensions.VK_EXT_descriptor_indexing+                          , module Vulkan.Extensions.VK_EXT_device_memory_report                           , module Vulkan.Extensions.VK_EXT_direct_mode_display                           , module Vulkan.Extensions.VK_EXT_directfb_surface                           , module Vulkan.Extensions.VK_EXT_discard_rectangles@@ -253,6 +254,7 @@ import Vulkan.Extensions.VK_EXT_depth_clip_enable import Vulkan.Extensions.VK_EXT_depth_range_unrestricted import Vulkan.Extensions.VK_EXT_descriptor_indexing+import Vulkan.Extensions.VK_EXT_device_memory_report import Vulkan.Extensions.VK_EXT_direct_mode_display import Vulkan.Extensions.VK_EXT_directfb_surface import Vulkan.Extensions.VK_EXT_discard_rectangles
+ src/Vulkan/Extensions/VK_EXT_device_memory_report.hs view
@@ -0,0 +1,456 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_EXT_device_memory_report  ( PhysicalDeviceDeviceMemoryReportFeaturesEXT(..)+                                                      , DeviceDeviceMemoryReportCreateInfoEXT(..)+                                                      , DeviceMemoryReportCallbackDataEXT(..)+                                                      , DeviceMemoryReportFlagsEXT(..)+                                                      , DeviceMemoryReportEventTypeEXT( DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT+                                                                                      , DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT+                                                                                      , DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT+                                                                                      , DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT+                                                                                      , DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT+                                                                                      , ..+                                                                                      )+                                                      , PFN_vkDeviceMemoryReportCallbackEXT+                                                      , FN_vkDeviceMemoryReportCallbackEXT+                                                      , EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION+                                                      , pattern EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION+                                                      , EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME+                                                      , pattern EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME+                                                      ) where++import Foreign.Marshal.Alloc (allocaBytesAligned)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import GHC.Read (choose)+import GHC.Read (expectP)+import GHC.Read (parens)+import GHC.Show (showParen)+import GHC.Show (showString)+import GHC.Show (showsPrec)+import Numeric (showHex)+import Text.ParserCombinators.ReadPrec ((+++))+import Text.ParserCombinators.ReadPrec (prec)+import Text.ParserCombinators.ReadPrec (step)+import Data.Bits (Bits)+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 Data.Int (Int32)+import Foreign.Ptr (FunPtr)+import Foreign.Ptr (Ptr)+import GHC.Read (Read(readPrec))+import Data.Word (Word32)+import Data.Word (Word64)+import Text.Read.Lex (Lexeme(Ident))+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.NamedType ((:::))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.Core10.FundamentalTypes (Flags)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.Core10.Enums.ObjectType (ObjectType)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero)+import Vulkan.Zero (Zero(..))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT))+-- | VkPhysicalDeviceDeviceMemoryReportFeaturesEXT - Structure describing+-- whether device memory report callback can be supported by an+-- implementation+--+-- = Members+--+-- The members of the 'PhysicalDeviceDeviceMemoryReportFeaturesEXT'+-- structure describe the following features:+--+-- = Description+--+-- If the 'PhysicalDeviceDeviceMemoryReportFeaturesEXT' structure is+-- included in the @pNext@ chain of+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- it is filled with a value indicating whether the feature is supported.+-- 'PhysicalDeviceDeviceMemoryReportFeaturesEXT' /can/ also be used in the+-- @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to enable the+-- feature.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceDeviceMemoryReportFeaturesEXT = PhysicalDeviceDeviceMemoryReportFeaturesEXT+  { -- | @deviceMemoryReport@ indicates whether the implementation supports the+    -- ability to register device memory report callbacks.+    deviceMemoryReport :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceDeviceMemoryReportFeaturesEXT)+#endif+deriving instance Show PhysicalDeviceDeviceMemoryReportFeaturesEXT++instance ToCStruct PhysicalDeviceDeviceMemoryReportFeaturesEXT where+  withCStruct x f = allocaBytesAligned 24 8 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceDeviceMemoryReportFeaturesEXT{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (deviceMemoryReport))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceDeviceMemoryReportFeaturesEXT where+  peekCStruct p = do+    deviceMemoryReport <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceDeviceMemoryReportFeaturesEXT+             (bool32ToBool deviceMemoryReport)++instance Storable PhysicalDeviceDeviceMemoryReportFeaturesEXT where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceDeviceMemoryReportFeaturesEXT where+  zero = PhysicalDeviceDeviceMemoryReportFeaturesEXT+           zero+++-- | VkDeviceDeviceMemoryReportCreateInfoEXT - Register device memory report+-- callbacks for a Vulkan device+--+-- = Description+--+-- The callback /may/ be called from multiple threads simultaneously.+--+-- The callback /must/ be called only once by the implementation when a+-- 'DeviceMemoryReportEventTypeEXT' event occurs.+--+-- Note+--+-- The callback could be called from a background thread other than the+-- thread calling the Vulkan commands.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- 'PFN_vkDeviceMemoryReportCallbackEXT', 'DeviceMemoryReportFlagsEXT',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data DeviceDeviceMemoryReportCreateInfoEXT = DeviceDeviceMemoryReportCreateInfoEXT+  { -- | @flags@ is 0 and reserved for future use.+    --+    -- @flags@ /must/ be @0@+    flags :: DeviceMemoryReportFlagsEXT+  , -- | @pfnUserCallback@ is the application callback function to call.+    --+    -- @pfnUserCallback@ /must/ be a valid+    -- 'PFN_vkDeviceMemoryReportCallbackEXT' value+    pfnUserCallback :: PFN_vkDeviceMemoryReportCallbackEXT+  , -- | @pUserData@ is user data to be passed to the callback.+    --+    -- @pUserData@ /must/ be a pointer value+    userData :: Ptr ()+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (DeviceDeviceMemoryReportCreateInfoEXT)+#endif+deriving instance Show DeviceDeviceMemoryReportCreateInfoEXT++instance ToCStruct DeviceDeviceMemoryReportCreateInfoEXT where+  withCStruct x f = allocaBytesAligned 40 8 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p DeviceDeviceMemoryReportCreateInfoEXT{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr DeviceMemoryReportFlagsEXT)) (flags)+    poke ((p `plusPtr` 24 :: Ptr PFN_vkDeviceMemoryReportCallbackEXT)) (pfnUserCallback)+    poke ((p `plusPtr` 32 :: Ptr (Ptr ()))) (userData)+    f+  cStructSize = 40+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr DeviceMemoryReportFlagsEXT)) (zero)+    poke ((p `plusPtr` 24 :: Ptr PFN_vkDeviceMemoryReportCallbackEXT)) (zero)+    poke ((p `plusPtr` 32 :: Ptr (Ptr ()))) (zero)+    f++instance FromCStruct DeviceDeviceMemoryReportCreateInfoEXT where+  peekCStruct p = do+    flags <- peek @DeviceMemoryReportFlagsEXT ((p `plusPtr` 16 :: Ptr DeviceMemoryReportFlagsEXT))+    pfnUserCallback <- peek @PFN_vkDeviceMemoryReportCallbackEXT ((p `plusPtr` 24 :: Ptr PFN_vkDeviceMemoryReportCallbackEXT))+    pUserData <- peek @(Ptr ()) ((p `plusPtr` 32 :: Ptr (Ptr ())))+    pure $ DeviceDeviceMemoryReportCreateInfoEXT+             flags pfnUserCallback pUserData++instance Storable DeviceDeviceMemoryReportCreateInfoEXT where+  sizeOf ~_ = 40+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero DeviceDeviceMemoryReportCreateInfoEXT where+  zero = DeviceDeviceMemoryReportCreateInfoEXT+           zero+           zero+           zero+++-- | VkDeviceMemoryReportCallbackDataEXT - Structure specifying parameters+-- returned to the callback+--+-- = Description+--+-- @memoryObjectId@ is used to avoid double-counting on the same memory+-- object.+--+-- If an internally-allocated device memory object or a+-- 'Vulkan.Core10.Handles.DeviceMemory' /cannot/ be exported,+-- @memoryObjectId@ /must/ be unique in the 'Vulkan.Core10.Handles.Device'.+--+-- If an internally-allocated device memory object or a+-- 'Vulkan.Core10.Handles.DeviceMemory' supports being exported,+-- @memoryObjectId@ /must/ be unique system wide.+--+-- If an internal device memory object or a+-- 'Vulkan.Core10.Handles.DeviceMemory' is backed by an imported external+-- memory object, @memoryObjectId@ /must/ be unique system wide.+--+-- Note+--+-- This structure should only be considered valid during the lifetime of+-- the triggered callback.+--+-- For 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT' and+-- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT' events, @objectHandle@+-- usually will not yet exist when the application or tool receives the+-- callback. @objectHandle@ will only exist when the create or allocate+-- call that triggered the event returns, and if the allocation or import+-- ends up failing @objectHandle@ won’t ever exist.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- 'DeviceMemoryReportEventTypeEXT', 'DeviceMemoryReportFlagsEXT',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Enums.ObjectType.ObjectType',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data DeviceMemoryReportCallbackDataEXT = DeviceMemoryReportCallbackDataEXT+  { -- | @flags@ is 0 and reserved for future use.+    flags :: DeviceMemoryReportFlagsEXT+  , -- | @type@ is a 'DeviceMemoryReportEventTypeEXT' type specifying the type of+    -- event reported in this 'DeviceMemoryReportCallbackDataEXT' structure.+    type' :: DeviceMemoryReportEventTypeEXT+  , -- | @memoryObjectId@ is the unique id for the underlying memory object as+    -- described below.+    memoryObjectId :: Word64+  , -- | @size@ is the size of the memory object in bytes. If @type@ is+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT',+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT' or+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT', @size@ /must/+    -- be a valid 'Vulkan.Core10.FundamentalTypes.DeviceSize' value.+    size :: DeviceSize+  , -- | @objectType@ is a 'Vulkan.Core10.Enums.ObjectType.ObjectType' value+    -- specifying the type of the object associated with this device memory+    -- report event. If @type@ is+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT',+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT' or+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT', @objectType@+    -- /must/ be a valid 'Vulkan.Core10.Enums.ObjectType.ObjectType' enum.+    objectType :: ObjectType+  , -- | @objectHandle@ is the object this device memory report event is+    -- attributed to. If @type@ is+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT',+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT',+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT' or+    -- 'DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT', @objectHandle@ /must/ be+    -- a valid Vulkan handle of the type associated with @objectType@ as+    -- defined in the+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#debugging-object-types VkObjectType and Vulkan Handle Relationship>+    -- table.+    objectHandle :: Word64+  , -- | @heapIndex@ describes which memory heap this device memory allocation is+    -- made from. If @type@ is 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT'+    -- or 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT', @heapIndex@+    -- /must/ correspond to one of the valid heaps from the+    -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties'+    -- structure. Otherwise, @heapIndex@ is undefined.+    heapIndex :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (DeviceMemoryReportCallbackDataEXT)+#endif+deriving instance Show DeviceMemoryReportCallbackDataEXT++instance ToCStruct DeviceMemoryReportCallbackDataEXT where+  withCStruct x f = allocaBytesAligned 64 8 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p DeviceMemoryReportCallbackDataEXT{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr DeviceMemoryReportFlagsEXT)) (flags)+    poke ((p `plusPtr` 20 :: Ptr DeviceMemoryReportEventTypeEXT)) (type')+    poke ((p `plusPtr` 24 :: Ptr Word64)) (memoryObjectId)+    poke ((p `plusPtr` 32 :: Ptr DeviceSize)) (size)+    poke ((p `plusPtr` 40 :: Ptr ObjectType)) (objectType)+    poke ((p `plusPtr` 48 :: Ptr Word64)) (objectHandle)+    poke ((p `plusPtr` 56 :: Ptr Word32)) (heapIndex)+    f+  cStructSize = 64+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr DeviceMemoryReportFlagsEXT)) (zero)+    poke ((p `plusPtr` 20 :: Ptr DeviceMemoryReportEventTypeEXT)) (zero)+    poke ((p `plusPtr` 24 :: Ptr Word64)) (zero)+    f++instance FromCStruct DeviceMemoryReportCallbackDataEXT where+  peekCStruct p = do+    flags <- peek @DeviceMemoryReportFlagsEXT ((p `plusPtr` 16 :: Ptr DeviceMemoryReportFlagsEXT))+    type' <- peek @DeviceMemoryReportEventTypeEXT ((p `plusPtr` 20 :: Ptr DeviceMemoryReportEventTypeEXT))+    memoryObjectId <- peek @Word64 ((p `plusPtr` 24 :: Ptr Word64))+    size <- peek @DeviceSize ((p `plusPtr` 32 :: Ptr DeviceSize))+    objectType <- peek @ObjectType ((p `plusPtr` 40 :: Ptr ObjectType))+    objectHandle <- peek @Word64 ((p `plusPtr` 48 :: Ptr Word64))+    heapIndex <- peek @Word32 ((p `plusPtr` 56 :: Ptr Word32))+    pure $ DeviceMemoryReportCallbackDataEXT+             flags type' memoryObjectId size objectType objectHandle heapIndex++instance Storable DeviceMemoryReportCallbackDataEXT where+  sizeOf ~_ = 64+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero DeviceMemoryReportCallbackDataEXT where+  zero = DeviceMemoryReportCallbackDataEXT+           zero+           zero+           zero+           zero+           zero+           zero+           zero+++-- No documentation found for TopLevel "VkDeviceMemoryReportFlagsEXT"+newtype DeviceMemoryReportFlagsEXT = DeviceMemoryReportFlagsEXT Flags+  deriving newtype (Eq, Ord, Storable, Zero, Bits)++++instance Show DeviceMemoryReportFlagsEXT where+  showsPrec p = \case+    DeviceMemoryReportFlagsEXT x -> showParen (p >= 11) (showString "DeviceMemoryReportFlagsEXT 0x" . showHex x)++instance Read DeviceMemoryReportFlagsEXT where+  readPrec = parens (choose []+                     ++++                     prec 10 (do+                       expectP (Ident "DeviceMemoryReportFlagsEXT")+                       v <- step readPrec+                       pure (DeviceMemoryReportFlagsEXT v)))+++-- | VkDeviceMemoryReportEventTypeEXT - Events that can occur on a device+-- memory object+--+-- = See Also+--+-- 'DeviceMemoryReportCallbackDataEXT'+newtype DeviceMemoryReportEventTypeEXT = DeviceMemoryReportEventTypeEXT Int32+  deriving newtype (Eq, Ord, Storable, Zero)++-- | 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT' specifies this event+-- corresponds to the allocation of an internal device memory object or a+-- 'Vulkan.Core10.Handles.DeviceMemory'.+pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = DeviceMemoryReportEventTypeEXT 0+-- | 'DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT' specifies this event+-- corresponds to the deallocation of an internally-allocated device memory+-- object or a 'Vulkan.Core10.Handles.DeviceMemory'.+pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = DeviceMemoryReportEventTypeEXT 1+-- | 'DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT' specifies this event+-- corresponds to the import of an external memory object.+pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = DeviceMemoryReportEventTypeEXT 2+-- | 'DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT' specifies this event is+-- the release of an imported external memory object.+pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = DeviceMemoryReportEventTypeEXT 3+-- | 'DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT' specifies this+-- event corresponds to the failed allocation of an internal device memory+-- object or a 'Vulkan.Core10.Handles.DeviceMemory'.+pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = DeviceMemoryReportEventTypeEXT 4+{-# complete DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,+             DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,+             DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,+             DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,+             DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT :: DeviceMemoryReportEventTypeEXT #-}++instance Show DeviceMemoryReportEventTypeEXT where+  showsPrec p = \case+    DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT -> showString "DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT"+    DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT -> showString "DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT"+    DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT -> showString "DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT"+    DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT -> showString "DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT"+    DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT -> showString "DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT"+    DeviceMemoryReportEventTypeEXT x -> showParen (p >= 11) (showString "DeviceMemoryReportEventTypeEXT " . showsPrec 11 x)++instance Read DeviceMemoryReportEventTypeEXT where+  readPrec = parens (choose [("DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT", pure DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT)+                            , ("DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT", pure DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT)+                            , ("DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT", pure DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT)+                            , ("DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT", pure DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT)+                            , ("DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT", pure DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT)]+                     ++++                     prec 10 (do+                       expectP (Ident "DeviceMemoryReportEventTypeEXT")+                       v <- step readPrec+                       pure (DeviceMemoryReportEventTypeEXT v)))+++type FN_vkDeviceMemoryReportCallbackEXT = ("pCallbackData" ::: Ptr DeviceMemoryReportCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO ()+-- | PFN_vkDeviceMemoryReportCallbackEXT - Application-defined device memory+-- report callback function+--+-- = Description+--+-- The callback /must/ not make calls to any Vulkan commands.+--+-- = See Also+--+-- 'DeviceDeviceMemoryReportCreateInfoEXT'+type PFN_vkDeviceMemoryReportCallbackEXT = FunPtr FN_vkDeviceMemoryReportCallbackEXT+++type EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION"+pattern EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION :: forall a . Integral a => a+pattern EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 1+++type EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report"++-- No documentation found for TopLevel "VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME"+pattern EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report"+
+ src/Vulkan/Extensions/VK_EXT_device_memory_report.hs-boot view
@@ -0,0 +1,32 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_EXT_device_memory_report  ( DeviceDeviceMemoryReportCreateInfoEXT+                                                      , DeviceMemoryReportCallbackDataEXT+                                                      , PhysicalDeviceDeviceMemoryReportFeaturesEXT+                                                      ) where++import Data.Kind (Type)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+data DeviceDeviceMemoryReportCreateInfoEXT++instance ToCStruct DeviceDeviceMemoryReportCreateInfoEXT+instance Show DeviceDeviceMemoryReportCreateInfoEXT++instance FromCStruct DeviceDeviceMemoryReportCreateInfoEXT+++data DeviceMemoryReportCallbackDataEXT++instance ToCStruct DeviceMemoryReportCallbackDataEXT+instance Show DeviceMemoryReportCallbackDataEXT++instance FromCStruct DeviceMemoryReportCallbackDataEXT+++data PhysicalDeviceDeviceMemoryReportFeaturesEXT++instance ToCStruct PhysicalDeviceDeviceMemoryReportFeaturesEXT+instance Show PhysicalDeviceDeviceMemoryReportFeaturesEXT++instance FromCStruct PhysicalDeviceDeviceMemoryReportFeaturesEXT+
src/Vulkan/Extensions/VK_EXT_external_memory_host.hs view
@@ -140,13 +140,13 @@ -- between the host and the Vulkan implementation. The application /can/ -- continue to access the memory through the host pointer but it is the -- application’s responsibility to synchronize device and non-device access--- to the underlying memory as defined in+-- to the payload as defined in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-device-hostaccess Host Access to Device Memory Objects>. ----- Applications /can/ import the same underlying memory into multiple--- instances of Vulkan and multiple times into a given Vulkan instance.--- However, implementations /may/ fail to import the same underlying memory--- multiple times into a given physical device due to platform constraints.+-- Applications /can/ import the same payload into multiple instances of+-- Vulkan and multiple times into a given Vulkan instance. However,+-- implementations /may/ fail to import the same payload multiple times+-- into a given physical device due to platform constraints. -- -- Importing memory from a particular host pointer /may/ not be possible -- due to additional platform-specific restrictions beyond the scope of@@ -154,8 +154,10 @@ -- memory import operation with the error code -- 'Vulkan.Extensions.VK_KHR_external_memory.ERROR_INVALID_EXTERNAL_HANDLE_KHR'. ----- The application /must/ ensure that the imported memory range remains--- valid and accessible for the lifetime of the imported memory object.+-- Whether device memory objects imported from a host pointer hold a+-- reference to their payload is undefined. As such, the application /must/+-- ensure that the imported memory range remains valid and accessible for+-- the lifetime of the imported memory object. -- -- == Valid Usage --
src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs view
@@ -75,13 +75,14 @@ -- -- = Description ----- Each call to 'getMemoryFdKHR' /must/ create a new file descriptor and--- transfer ownership of it to the application. To avoid leaking resources,--- the application /must/ release ownership of the file descriptor using--- the @close@ system call when it is no longer needed, or by importing a--- Vulkan memory object from it. Where supported by the operating system,--- the implementation /must/ set the file descriptor to be closed--- automatically when an @execve@ system call is made.+-- Each call to 'getMemoryFdKHR' /must/ create a new file descriptor+-- holding a reference to the memory object’s payload and transfer+-- ownership of the file descriptor to the application. To avoid leaking+-- resources, the application /must/ release ownership of the file+-- descriptor using the @close@ system call when it is no longer needed, or+-- by importing a Vulkan memory object from it. Where supported by the+-- operating system, the implementation /must/ set the file descriptor to+-- be closed automatically when an @execve@ system call is made. -- -- == Return Codes --@@ -193,13 +194,13 @@ -- Importing memory from a file descriptor transfers ownership of the file -- descriptor from the application to the Vulkan implementation. The -- application /must/ not perform any operations on the file descriptor--- after a successful import.+-- after a successful import. The imported memory object holds a reference+-- to its payload. ----- Applications /can/ import the same underlying memory into multiple--- instances of Vulkan, into the same instance from which it was exported,--- and multiple times into a given Vulkan instance. In all cases, each--- import operation /must/ create a distinct--- 'Vulkan.Core10.Handles.DeviceMemory' object.+-- Applications /can/ import the same payload into multiple instances of+-- Vulkan, into the same instance from which it was exported, and multiple+-- times into a given Vulkan instance. In all cases, each import operation+-- /must/ create a distinct 'Vulkan.Core10.Handles.DeviceMemory' object. -- -- == Valid Usage --
src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs view
@@ -84,10 +84,17 @@ -- = Description -- -- For handle types defined as NT handles, the handles returned by--- 'getMemoryWin32HandleKHR' are owned by the application. To avoid leaking--- resources, the application /must/ release ownership of them using the--- @CloseHandle@ system call when they are no longer needed.+-- 'getMemoryWin32HandleKHR' are owned by the application and hold a+-- reference to their payload. To avoid leaking resources, the application+-- /must/ release ownership of them using the @CloseHandle@ system call+-- when they are no longer needed. --+-- Note+--+-- Non-NT handle types do not add a reference to their associated payload.+-- If the original object owning the payload is destroyed, all resources+-- and handles sharing that payload will become invalid.+-- -- == Return Codes -- -- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]@@ -194,17 +201,25 @@ -- -- = Description ----- Importing memory objects from Windows handles does not transfer+-- Importing memory object payloads from Windows handles does not transfer -- ownership of the handle to the Vulkan implementation. For handle types--- defined as NT handles, the application /must/ release ownership using--- the @CloseHandle@ system call when the handle is no longer needed.+-- defined as NT handles, the application /must/ release handle ownership+-- using the @CloseHandle@ system call when the handle is no longer needed.+-- For handle types defined as NT handles, the imported memory object holds+-- a reference to its payload. ----- Applications /can/ import the same underlying memory into multiple--- instances of Vulkan, into the same instance from which it was exported,--- and multiple times into a given Vulkan instance. In all cases, each--- import operation /must/ create a distinct--- 'Vulkan.Core10.Handles.DeviceMemory' object.+-- Note --+-- Non-NT handle import operations do not add a reference to their+-- associated payload. If the original object owning the payload is+-- destroyed, all resources and handles sharing that payload will become+-- invalid.+--+-- Applications /can/ import the same payload into multiple instances of+-- Vulkan, into the same instance from which it was exported, and multiple+-- times into a given Vulkan instance. In all cases, each import operation+-- /must/ create a distinct 'Vulkan.Core10.Handles.DeviceMemory' object.+-- -- == Valid Usage -- -- -   If @handleType@ is not @0@, it /must/ be supported for import, as@@ -262,8 +277,8 @@     handleType :: ExternalMemoryHandleTypeFlagBits   , -- | @handle@ is the external handle to import, or @NULL@.     handle :: HANDLE-  , -- | @name@ is a null-terminated UTF-16 string naming the underlying memory-    -- resource to import, or @NULL@.+  , -- | @name@ is a null-terminated UTF-16 string naming the payload to import,+    -- or @NULL@.     name :: LPCWSTR   }   deriving (Typeable, Eq)@@ -384,9 +399,8 @@   , -- | @dwAccess@ is a 'Vulkan.Extensions.VK_NV_external_memory_win32.DWORD'     -- specifying access rights of the handle.     dwAccess :: DWORD-  , -- | @name@ is a null-terminated UTF-16 string to associate with the-    -- underlying resource referenced by NT handles exported from the created-    -- memory.+  , -- | @name@ is a null-terminated UTF-16 string to associate with the payload+    -- referenced by NT handles exported from the created memory.     name :: LPCWSTR   }   deriving (Typeable, Eq)
src/Vulkan/Version.hs view
@@ -14,11 +14,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 155+pattern HEADER_VERSION = 156   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 155+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 156   pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 7d608c680747a39a9b3ffd73be1cba4bb23e9a99063b1885e194f37e934c885d+-- hash: 4440a5ae30900bab6984276232f3e38c13b7d2ef81d1fb4c2b3e00fee27b1bee  name:           vulkan-version:        3.6.8+version:        3.6.9 synopsis:       Bindings to the Vulkan graphics API. category:       Graphics homepage:       https://github.com/expipiplus1/vulkan#readme@@ -287,6 +287,7 @@       Vulkan.Extensions.VK_EXT_depth_clip_enable       Vulkan.Extensions.VK_EXT_depth_range_unrestricted       Vulkan.Extensions.VK_EXT_descriptor_indexing+      Vulkan.Extensions.VK_EXT_device_memory_report       Vulkan.Extensions.VK_EXT_direct_mode_display       Vulkan.Extensions.VK_EXT_directfb_surface       Vulkan.Extensions.VK_EXT_discard_rectangles