vulkan 3.6.8 → 3.6.9
raw patch · 17 files changed
+640/−71 lines, 17 files
Files
- changelog.md +2/−1
- src/Vulkan/CStruct/Extends.hs +10/−0
- src/Vulkan/Core10/Device.hs +8/−0
- src/Vulkan/Core10/Enums/ObjectType.hs +1/−0
- src/Vulkan/Core10/Enums/StructureType.hs +21/−0
- src/Vulkan/Core10/FundamentalTypes.hs +2/−0
- src/Vulkan/Core10/FundamentalTypes.hs-boot +1/−0
- src/Vulkan/Core10/Memory.hs +45/−30
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +2/−0
- src/Vulkan/Extensions.hs +2/−0
- src/Vulkan/Extensions/VK_EXT_device_memory_report.hs +456/−0
- src/Vulkan/Extensions/VK_EXT_device_memory_report.hs-boot +32/−0
- src/Vulkan/Extensions/VK_EXT_external_memory_host.hs +9/−7
- src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs +14/−13
- src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs +30/−16
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +3/−2
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