packages feed

vulkan 3.3.1 → 3.4

raw patch · 269 files changed

+4499/−3844 lines, 269 files

Files

changelog.md view
@@ -2,6 +2,12 @@  ## WIP +## [3.4] - 2020-06-03+  - Bump API version to 1.2.142+    - The spec includes specific locations for types, so we use them+    - BaseType -> FundamentalTypes+  - Add `withSomeStruct` helper+ ## [3.3.1] - 2020-05-18   - Bump API version to 1.2.141   - Generate haddocks for command parameters, #92
readme.md view
@@ -298,6 +298,30 @@ - `pkg-config` and `SDL2` to build the Haskell `sdl2` package. - `glslang` (for the `glslangValidator` binary, to build the shaders) +### Building on Windows++- Clone this repo+- Install stack+  - https://docs.haskellstack.org/en/stable/install_and_upgrade/#windows+- Make sure your graphics driver has installed `vulkan-1.dll` in `C:/windows/system32`+- Install the LunarG Vulkan SDK+  - https://vulkan.lunarg.com/sdk/home#windows+  - Remember the installation directory, use in place of `C:/VulkanSDK/1.2.135.0` below+  - We will link against `vulkan-1.lib` from this installation+  - We will use the `glslangValidator` from this installation, make sure it's+    in your `PATH` or otherwise made available to `stack`+- Install the system dependencies via stack+  - pkg-config+  - SDL2+  - `stack exec -- pacman -S mingw-w64-x86_64-pkg-config mingw-w64-x86_64-SDL2`+  - Note that the above command will also install mingw's `libvulkan-1.dll`,+    I had trouble getting things to run with this dll, so make sure you're+    linking to the windows SDK installed earlier instead.+- Build the packages+  - `stack --extra-lib-dirs C:/VulkanSDK/1.2.135.0 build`+- Run an example program+  - `stack --extra-lib-dirs C:/VulkanSDK/1.2.135.0 run resize`+ ## Examples  There exists a package to build some example programs in the
src/Vulkan/CStruct/Extends.hs view
@@ -7,6 +7,8 @@                                , Chain                                , Extendss                                , SomeStruct(..)+                               , extendSomeStruct+                               , withSomeStruct                                , withSomeCStruct                                , peekSomeCStruct                                , pokeSomeCStruct@@ -95,7 +97,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_calibrated_timestamps (CalibratedTimestampInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints (CheckpointDataNV) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearAttachment)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (ClearDepthStencilValue)+import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearDepthStencilValue) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearRect) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (CoarseSampleLocationNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (CoarseSampleOrderCustomNV)@@ -191,8 +193,8 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore (ExportSemaphoreCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_semaphore_win32 (ExportSemaphoreWin32HandleInfoKHR) import {-# SOURCE #-} Vulkan.Core10.ExtensionDiscovery (ExtensionProperties)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (Extent2D)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (Extent3D)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Extent2D)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Extent3D) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (ExternalBufferProperties) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities (ExternalFenceProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (ExternalFormatANDROID)@@ -243,9 +245,9 @@ import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageResolve) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (ImageSparseMemoryRequirementsInfo2) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage (ImageStencilUsageCreateInfo)-import {-# SOURCE #-} Vulkan.Core10.Image (ImageSubresource)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (ImageSubresourceLayers)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (ImageSubresourceRange)+import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (ImageSubresource)+import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageSubresourceLayers)+import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageSubresourceRange) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (ImageSwapchainCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_astc_decode_mode (ImageViewASTCDecodeModeEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewAddressPropertiesNVX)@@ -289,8 +291,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_win32 (MemoryWin32HandlePropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_metal_surface (MetalSurfaceCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (MultisamplePropertiesEXT)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (Offset2D)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (Offset3D)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Offset2D)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Offset3D) import {-# SOURCE #-} Vulkan.Extensions.VK_GOOGLE_display_timing (PastPresentationTimingGOOGLE) import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_performance_query (PerformanceConfigurationAcquireInfoINTEL) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PerformanceCounterDescriptionKHR)@@ -486,7 +488,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (RayTracingPipelineInterfaceCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (RayTracingShaderGroupCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (RayTracingShaderGroupCreateInfoNV)-import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (Rect2D)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Rect2D) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_incremental_present (RectLayerKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_GOOGLE_display_timing (RefreshCycleDurationGOOGLE) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (RenderPassAttachmentBeginInfo)@@ -570,7 +572,7 @@ import {-# SOURCE #-} Vulkan.Core10.Pipeline (VertexInputBindingDescription) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_vertex_attribute_divisor (VertexInputBindingDivisorDescriptionEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NN_vi_surface (ViSurfaceCreateInfoNN)-import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (Viewport)+import {-# SOURCE #-} Vulkan.Core10.Pipeline (Viewport) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_viewport_swizzle (ViewportSwizzleNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_clip_space_w_scaling (ViewportWScalingNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_wayland_surface (WaylandSurfaceCreateInfoKHR)@@ -722,6 +724,7 @@   Extends DescriptorSetLayoutCreateInfo DescriptorSetLayoutBindingFlagsCreateInfo = ()   Extends DescriptorSetLayoutSupport DescriptorSetVariableDescriptorCountLayoutSupport = ()   Extends DeviceCreateInfo PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = ()+  Extends DeviceCreateInfo DevicePrivateDataCreateInfoEXT = ()   Extends DeviceCreateInfo (PhysicalDeviceFeatures2 '[]) = ()   Extends DeviceCreateInfo PhysicalDeviceVariablePointersFeatures = ()   Extends DeviceCreateInfo PhysicalDeviceMultiviewFeatures = ()@@ -1023,28 +1026,59 @@  deriving instance (forall es. Show (Chain es) => Show (a es)) => Show (SomeStruct a) +-- | The constraint is so on this instance to encourage type inference instance Zero (a '[]) => Zero (SomeStruct a) where   zero = SomeStruct (zero :: a '[]) +-- | Forget which extensions a pointed-to struct has by casting the pointer forgetExtensions :: Ptr (a es) -> Ptr (SomeStruct a) forgetExtensions = castPtr +-- | Add an extension to the beginning of the struct chain+--+-- This can be used to optionally extend structs based on some condition (for+-- example, an extension or layer being available)+extendSomeStruct+  :: (Extensible a, Extends a e, ToCStruct e, Show e)+  => e+  -> SomeStruct a+  -> SomeStruct a+extendSomeStruct e (SomeStruct a) = SomeStruct (setNext a (e, getNext a))++-- | Consume a 'SomeStruct' value+withSomeStruct+  :: forall a b+   . SomeStruct a+  -> (forall es . (Extendss a es, PokeChain es, Show (Chain es)) => a es -> b)+  -> b+withSomeStruct (SomeStruct s) f = f s++-- | Write the C representation of some extended @a@ and use the pointer,+-- the pointer must not be returned from the continuation. withSomeCStruct   :: forall a b    . (forall es . (Extendss a es, PokeChain es) => ToCStruct (a es))   => SomeStruct a   -> (forall es . (Extendss a es, PokeChain es) => Ptr (a es) -> IO b)   -> IO b-withSomeCStruct (SomeStruct s) f = withCStruct s f+withSomeCStruct s f = withSomeStruct s (`withCStruct` f) +-- | Given some memory for the head of the chain, allocate and poke the+-- tail and run an action. pokeSomeCStruct   :: (forall es . (Extendss a es, PokeChain es) => ToCStruct (a es))   => Ptr (SomeStruct a)+  -- ^ Pointer to some memory at least the size of the head of the struct+  -- chain.   -> SomeStruct a+  -- ^ The struct to poke   -> IO b+  -- ^ Computation to run while the poked tail is valid   -> IO b pokeSomeCStruct p (SomeStruct s) = pokeCStruct (castPtr p) s +-- | Given a pointer to a struct with an unknown chain, peek the struct and+-- its chain. peekSomeCStruct   :: forall a    . (Extensible a, forall es . (Extendss a es, PeekChain es) => FromCStruct (a es))@@ -1056,9 +1090,7 @@   peekSomeChain @a pNext $ \tail' -> SomeStruct (setNext head' tail')  peekSomeChain-  :: forall-       a-       b+  :: forall a b    . (Extensible a)   => Ptr BaseOutStructure   -> (  forall es@@ -1077,7 +1109,6 @@       $ \head' -> peekSomeChain @a (next (baseOut :: BaseOutStructure))                                   (\tail' -> c (head', tail')) - peekChainHead   :: forall a b    . Extensible a@@ -1100,6 +1131,7 @@   STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV -> go @ExportMemoryWin32HandleInfoNV   STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV -> go @Win32KeyedMutexAcquireReleaseInfoNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV -> go @PhysicalDeviceDeviceGeneratedCommandsFeaturesNV+  STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT -> go @DevicePrivateDataCreateInfoEXT   STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV -> go @PhysicalDeviceDeviceGeneratedCommandsPropertiesNV   STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV -> go @GraphicsPipelineShaderGroupsCreateInfoNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 -> go @(PhysicalDeviceFeatures2 '[])@@ -1389,6 +1421,7 @@ {-# complete (::&) :: ExportMemoryWin32HandleInfoNV #-} {-# complete (::&) :: Win32KeyedMutexAcquireReleaseInfoNV #-} {-# complete (::&) :: PhysicalDeviceDeviceGeneratedCommandsFeaturesNV #-}+{-# complete (::&) :: DevicePrivateDataCreateInfoEXT #-} {-# complete (::&) :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV #-} {-# complete (::&) :: GraphicsPipelineShaderGroupsCreateInfoNV #-} {-# complete (::&) :: PhysicalDeviceFeatures2 #-}
src/Vulkan/Core10.hs view
@@ -2,7 +2,6 @@ module Vulkan.Core10  ( pattern API_VERSION_1_0                       , module Vulkan.Core10.APIConstants                       , module Vulkan.Core10.AllocationCallbacks-                      , module Vulkan.Core10.BaseType                       , module Vulkan.Core10.Buffer                       , module Vulkan.Core10.BufferView                       , module Vulkan.Core10.CommandBuffer@@ -16,6 +15,7 @@                       , module Vulkan.Core10.ExtensionDiscovery                       , module Vulkan.Core10.Fence                       , module Vulkan.Core10.FuncPointers+                      , module Vulkan.Core10.FundamentalTypes                       , module Vulkan.Core10.Handles                       , module Vulkan.Core10.Image                       , module Vulkan.Core10.ImageView@@ -32,12 +32,10 @@                       , module Vulkan.Core10.QueueSemaphore                       , module Vulkan.Core10.Sampler                       , module Vulkan.Core10.Shader-                      , module Vulkan.Core10.SharedTypes                       , module Vulkan.Core10.SparseResourceMemoryManagement                       ) where import Vulkan.Core10.APIConstants import Vulkan.Core10.AllocationCallbacks-import Vulkan.Core10.BaseType import Vulkan.Core10.Buffer import Vulkan.Core10.BufferView import Vulkan.Core10.CommandBuffer@@ -51,6 +49,7 @@ import Vulkan.Core10.ExtensionDiscovery import Vulkan.Core10.Fence import Vulkan.Core10.FuncPointers+import Vulkan.Core10.FundamentalTypes import Vulkan.Core10.Handles import Vulkan.Core10.Image import Vulkan.Core10.ImageView@@ -67,7 +66,6 @@ import Vulkan.Core10.QueueSemaphore import Vulkan.Core10.Sampler import Vulkan.Core10.Shader-import Vulkan.Core10.SharedTypes import Vulkan.Core10.SparseResourceMemoryManagement import Data.Word (Word32) import Vulkan.Version (pattern MAKE_VERSION)
src/Vulkan/Core10/APIConstants.hs view
@@ -55,7 +55,7 @@ import Data.Word (Word64) import Vulkan.Core10.Enums.ObjectType (ObjectType) import Vulkan.Zero (Zero(..))-import Vulkan.Core10.BaseType (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Bool32(..)) import Vulkan.Core10.Enums.PipelineCacheHeaderVersion (PipelineCacheHeaderVersion(..)) -- No documentation found for TopLevel "VK_LOD_CLAMP_NONE" pattern LOD_CLAMP_NONE :: Float
− src/Vulkan/Core10/BaseType.hs
@@ -1,351 +0,0 @@-{-# language CPP #-}-module Vulkan.Core10.BaseType  ( boolToBool32-                               , bool32ToBool-                               , Bool32( FALSE-                                       , TRUE-                                       , ..-                                       )-                               , SampleMask-                               , Flags-                               , DeviceSize-                               , DeviceAddress-                               ) where--import Data.Bool (bool)-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 Text.ParserCombinators.ReadPrec ((+++))-import Text.ParserCombinators.ReadPrec (prec)-import Text.ParserCombinators.ReadPrec (step)-import Foreign.Storable (Storable)-import Data.Int (Int32)-import GHC.Read (Read(readPrec))-import Data.Word (Word32)-import Data.Word (Word64)-import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Zero (Zero)-boolToBool32 :: Bool -> Bool32-boolToBool32 = bool FALSE TRUE--bool32ToBool :: Bool32 -> Bool-bool32ToBool = \case-  FALSE -> False-  TRUE  -> True----- | VkBool32 - Vulkan boolean type------ = Description------ 'TRUE' represents a boolean __True__ (integer 1) value, and 'FALSE' a--- boolean __False__ (integer 0) value.------ All values returned from a Vulkan implementation in a 'Bool32' will be--- either 'TRUE' or 'FALSE'.------ Applications /must/ not pass any other values than 'TRUE' or 'FALSE'--- into a Vulkan implementation where a 'Bool32' is expected.------ = See Also------ 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureBuildGeometryInfoKHR',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateGeometryTypeInfoKHR',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryInstancesDataKHR',--- 'Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT',--- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo',--- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV',--- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV',--- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport',--- 'Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD',--- 'Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR',--- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',--- 'Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV',--- 'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements',--- 'Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL',--- 'Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueDataINTEL',--- 'Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures',--- 'Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures',--- 'Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT',--- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures',--- 'Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT',--- 'Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD',--- 'Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV',--- 'Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT',--- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV',--- 'Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV',--- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV',--- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',--- 'Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV',--- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT',--- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties',--- '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_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV',--- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',--- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures',--- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties',--- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT',--- 'Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV',--- 'Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT',--- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties',--- 'Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures',--- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties',--- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',--- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT',--- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT',--- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV',--- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',--- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',--- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',--- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR',--- 'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT',--- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR',--- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT',--- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures',--- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.PhysicalDeviceRayTracingFeaturesKHR',--- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV',--- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT',--- 'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties',--- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures',--- 'Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures',--- 'Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures',--- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features',--- 'Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR',--- 'Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT',--- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures',--- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',--- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',--- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',--- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',--- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',--- 'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV',--- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties',--- 'Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties',--- 'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT',--- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT',--- 'Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures',--- 'Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures',--- 'Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT',--- 'Vulkan.Core12.PhysicalDeviceVulkan11Features',--- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',--- 'Vulkan.Core12.PhysicalDeviceVulkan12Features',--- 'Vulkan.Core12.PhysicalDeviceVulkan12Properties',--- 'Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures',--- 'Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT',--- 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState',--- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo',--- 'Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateInfoNV',--- 'Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV',--- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo',--- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR',--- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticValueKHR',--- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo',--- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo',--- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',--- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo',--- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV',--- 'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT',--- 'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV',--- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV',--- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo',--- 'Vulkan.Core10.Sampler.SamplerCreateInfo',--- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo',--- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT',--- 'Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR',--- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',--- 'Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD',--- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD',--- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV',--- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR',--- 'Vulkan.Extensions.VK_AMD_display_native_hdr.setLocalDimmingAMD',--- 'Vulkan.Core10.Fence.waitForFences'-newtype Bool32 = Bool32 Int32-  deriving newtype (Eq, Ord, Storable, Zero)---- No documentation found for Nested "VkBool32" "VK_FALSE"-pattern FALSE = Bool32 0--- No documentation found for Nested "VkBool32" "VK_TRUE"-pattern TRUE = Bool32 1-{-# complete FALSE,-             TRUE :: Bool32 #-}--instance Show Bool32 where-  showsPrec p = \case-    FALSE -> showString "FALSE"-    TRUE -> showString "TRUE"-    Bool32 x -> showParen (p >= 11) (showString "Bool32 " . showsPrec 11 x)--instance Read Bool32 where-  readPrec = parens (choose [("FALSE", pure FALSE)-                            , ("TRUE", pure TRUE)]-                     +++-                     prec 10 (do-                       expectP (Ident "Bool32")-                       v <- step readPrec-                       pure (Bool32 v)))----- | VkSampleMask - Mask of sample coverage information------ = See Also------ 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'-type SampleMask = Word32----- | VkFlags - Vulkan bitmasks------ = Description------ Bitmasks are passed to many commands and structures to compactly--- represent options, but 'Flags' is not used directly in the API. Instead,--- a @Vk*Flags@ type which is an alias of 'Flags', and whose name matches--- the corresponding @Vk*FlagBits@ that are valid for that type, is used.------ Any @Vk*Flags@ member or parameter used in the API as an input /must/ be--- a valid combination of bit flags. A valid combination is either zero or--- the bitwise OR of valid bit flags. A bit flag is valid if:------ -   The bit flag is defined as part of the @Vk*FlagBits@ type, where the---     bits type is obtained by taking the flag type and replacing the---     trailing 'Flags' with @FlagBits@. For example, a flag value of type---     'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags'---     /must/ contain only bit flags defined by---     'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits'.------ -   The flag is allowed in the context in which it is being used. For---     example, in some cases, certain bit flags or combinations of bit---     flags are mutually exclusive.------ Any @Vk*Flags@ member or parameter returned from a query command or--- otherwise output from Vulkan to the application /may/ contain bit flags--- undefined in its corresponding @Vk*FlagBits@ type. An application--- /cannot/ rely on the state of these unspecified bits.------ Only the low-order 31 bits (bit positions zero through 30) are available--- for use as flag bits.------ Note------ This restriction is due to poorly defined behavior by C compilers given--- a C enumerant value of @0x80000000@. In some cases adding this enumerant--- value may increase the size of the underlying @Vk*FlagBits@ type,--- breaking the ABI.------ = See Also------ 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags'-type Flags = Word32----- | VkDeviceSize - Vulkan device memory size and offsets------ = See Also------ 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',--- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryAabbsDataKHR',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryTrianglesDataKHR',--- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.BindAccelerationStructureMemoryInfoKHR',--- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',--- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',--- 'Vulkan.Core10.CommandBufferBuilding.BufferCopy',--- 'Vulkan.Core10.Buffer.BufferCreateInfo',--- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',--- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier',--- 'Vulkan.Core10.BufferView.BufferViewCreateInfo',--- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT',--- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',--- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV',--- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',--- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',--- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV',--- 'Vulkan.Core10.Memory.MappedMemoryRange',--- 'Vulkan.Core10.Memory.MemoryAllocateInfo',--- 'Vulkan.Core10.DeviceInitialization.MemoryHeap',--- 'Vulkan.Core10.MemoryManagement.MemoryRequirements',--- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT',--- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',--- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',--- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT',--- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.StridedBufferRegionKHR',--- 'Vulkan.Core10.Image.SubresourceLayout',--- 'Vulkan.Core10.MemoryManagement.bindBufferMemory',--- 'Vulkan.Core10.MemoryManagement.bindImageMemory',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT',--- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT',--- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR',--- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',--- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',--- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatchIndirect',--- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndexedIndirect',--- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCount',--- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndexedIndirectCountAMD',--- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCountKHR',--- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndirect',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdDrawIndirectByteCountEXT',--- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndirectCount',--- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndirectCountAMD',--- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndirectCountKHR',--- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectCountNV',--- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT',--- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdTraceRaysIndirectKHR',--- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV',--- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer',--- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',--- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment',--- 'Vulkan.Core10.Query.getQueryPoolResults',--- 'Vulkan.Core10.Memory.mapMemory'-type DeviceSize = Word64----- | VkDeviceAddress - Vulkan device address type------ = See Also------ 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV',--- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressConstKHR',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressKHR',--- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX'-type DeviceAddress = Word64-
− src/Vulkan/Core10/BaseType.hs-boot
@@ -1,99 +0,0 @@-{-# language CPP #-}-module Vulkan.Core10.BaseType  ( Bool32-                               , DeviceAddress-                               , DeviceSize-                               ) where--import Data.Word (Word64)--data Bool32----- | VkDeviceAddress - Vulkan device address type------ = See Also------ 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV',--- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressConstKHR',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressKHR',--- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX'-type DeviceAddress = Word64----- | VkDeviceSize - Vulkan device memory size and offsets------ = See Also------ 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',--- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryAabbsDataKHR',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryTrianglesDataKHR',--- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.BindAccelerationStructureMemoryInfoKHR',--- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',--- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',--- 'Vulkan.Core10.CommandBufferBuilding.BufferCopy',--- 'Vulkan.Core10.Buffer.BufferCreateInfo',--- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',--- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier',--- 'Vulkan.Core10.BufferView.BufferViewCreateInfo',--- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT',--- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',--- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV',--- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',--- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',--- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX',--- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV',--- 'Vulkan.Core10.Memory.MappedMemoryRange',--- 'Vulkan.Core10.Memory.MemoryAllocateInfo',--- 'Vulkan.Core10.DeviceInitialization.MemoryHeap',--- 'Vulkan.Core10.MemoryManagement.MemoryRequirements',--- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT',--- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',--- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',--- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT',--- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.StridedBufferRegionKHR',--- 'Vulkan.Core10.Image.SubresourceLayout',--- 'Vulkan.Core10.MemoryManagement.bindBufferMemory',--- 'Vulkan.Core10.MemoryManagement.bindImageMemory',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT',--- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT',--- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR',--- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',--- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',--- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatchIndirect',--- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndexedIndirect',--- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCount',--- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndexedIndirectCountAMD',--- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCountKHR',--- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndirect',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdDrawIndirectByteCountEXT',--- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndirectCount',--- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndirectCountAMD',--- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndirectCountKHR',--- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectCountNV',--- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV',--- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT',--- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdTraceRaysIndirectKHR',--- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV',--- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer',--- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',--- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment',--- 'Vulkan.Core10.Query.getQueryPoolResults',--- 'Vulkan.Core10.Memory.mapMemory'-type DeviceSize = Word64-
src/Vulkan/Core10/Buffer.hs view
@@ -3,6 +3,12 @@                              , withBuffer                              , destroyBuffer                              , BufferCreateInfo(..)+                             , Buffer(..)+                             , SharingMode(..)+                             , BufferUsageFlagBits(..)+                             , BufferUsageFlags+                             , BufferCreateFlagBits(..)+                             , BufferCreateFlags                              ) where  import Control.Exception.Base (bracket)@@ -53,7 +59,7 @@ import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkCreateBuffer)) import Vulkan.Dynamic (DeviceCmds(pVkDestroyBuffer))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss)@@ -76,6 +82,12 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (Buffer(..))+import Vulkan.Core10.Enums.BufferCreateFlagBits (BufferCreateFlagBits(..))+import Vulkan.Core10.Enums.BufferCreateFlagBits (BufferCreateFlags)+import Vulkan.Core10.Enums.BufferUsageFlagBits (BufferUsageFlagBits(..))+import Vulkan.Core10.Enums.BufferUsageFlagBits (BufferUsageFlags)+import Vulkan.Core10.Enums.SharingMode (SharingMode(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -309,8 +321,8 @@ -- -   If the @pNext@ chain includes a --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV' --     structure, and the @dedicatedAllocation@ member of the chained---     structure is 'Vulkan.Core10.BaseType.TRUE', then @flags@ /must/ not---     include+--     structure is 'Vulkan.Core10.FundamentalTypes.TRUE', then @flags@+--     /must/ not include --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_BINDING_BIT', --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT', --     or@@ -367,11 +379,11 @@ -- -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlags', -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlags',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.SharingMode.SharingMode', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createBuffer' data BufferCreateInfo (es :: [Type]) = BufferCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits'
src/Vulkan/Core10/BufferView.hs view
@@ -3,6 +3,8 @@                                  , withBufferView                                  , destroyBufferView                                  , BufferViewCreateInfo(..)+                                 , BufferView(..)+                                 , BufferViewCreateFlags(..)                                  ) where  import Control.Exception.Base (bracket)@@ -41,7 +43,7 @@ import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkCreateBufferView)) import Vulkan.Dynamic (DeviceCmds(pVkDestroyBufferView))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.Core10.Enums.Format (Format) import Vulkan.CStruct (FromCStruct)@@ -55,6 +57,8 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (BufferView(..))+import Vulkan.Core10.Enums.BufferViewCreateFlags (BufferViewCreateFlags(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -219,17 +223,26 @@ --     @format@ -- -- -   If @range@ is not equal to 'Vulkan.Core10.APIConstants.WHOLE_SIZE',---     @range@ divided by the texel block size of @format@, multiplied by---     the number of texels per texel block for that format (as defined in---     the+--     the number of texel buffer elements given by (⌊@range@ \/ (texel+--     block size)⌋ × (texels per block)) where texel block size and texels+--     per block are as defined in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility Compatible Formats>---     table), /must/ be less than or equal to+--     table for @format@, /must/ be less than or equal to --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxTexelBufferElements@ -- -- -   If @range@ is not equal to 'Vulkan.Core10.APIConstants.WHOLE_SIZE', --     the sum of @offset@ and @range@ /must/ be less than or equal to the --     size of @buffer@ --+-- -   If @range@ is equal to 'Vulkan.Core10.APIConstants.WHOLE_SIZE', the+--     number of texel buffer elements given by (⌊(size - @offset@) \/+--     (texel block size)⌋ × (texels per block)) where size is the size of+--     @buffer@, and texel block size and texels per block are as defined+--     in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility Compatible Formats>+--     table for @format@, /must/ be less than or equal to+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxTexelBufferElements@+-- -- -   @buffer@ /must/ have been created with a @usage@ value containing at --     least one of --     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT'@@ -273,7 +286,7 @@ --     'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT'::@storageTexelBufferOffsetAlignmentBytes@ --     or, if --     'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT'::@storageTexelBufferOffsetSingleTexelAlignment@---     is 'Vulkan.Core10.BaseType.TRUE', the size of a texel of the+--     is 'Vulkan.Core10.FundamentalTypes.TRUE', the size of a texel of the --     requested @format@. If the size of a texel is a multiple of three --     bytes, then the size of a single component of @format@ is used --     instead@@ -287,7 +300,7 @@ --     'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT'::@uniformTexelBufferOffsetAlignmentBytes@ --     or, if --     'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT'::@uniformTexelBufferOffsetSingleTexelAlignment@---     is 'Vulkan.Core10.BaseType.TRUE', the size of a texel of the+--     is 'Vulkan.Core10.FundamentalTypes.TRUE', the size of a texel of the --     requested @format@. If the size of a texel is a multiple of three --     bytes, then the size of a single component of @format@ is used --     instead@@ -309,7 +322,7 @@ -- -- 'Vulkan.Core10.Handles.Buffer', -- 'Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.Format.Format', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createBufferView' data BufferViewCreateInfo = BufferViewCreateInfo
src/Vulkan/Core10/CommandBuffer.hs view
@@ -9,6 +9,14 @@                                     , CommandBufferAllocateInfo(..)                                     , CommandBufferInheritanceInfo(..)                                     , CommandBufferBeginInfo(..)+                                    , CommandBuffer(..)+                                    , CommandBufferLevel(..)+                                    , QueryControlFlagBits(..)+                                    , QueryControlFlags+                                    , CommandBufferUsageFlagBits(..)+                                    , CommandBufferUsageFlags+                                    , CommandBufferResetFlagBits(..)+                                    , CommandBufferResetFlags                                     ) where  import Control.Exception.Base (bracket)@@ -47,13 +55,13 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.CStruct.Extends (peekSomeCStruct) import Vulkan.CStruct.Extends (withSomeCStruct) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..))@@ -101,6 +109,14 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (CommandBuffer(..))+import Vulkan.Core10.Enums.CommandBufferLevel (CommandBufferLevel(..))+import Vulkan.Core10.Enums.CommandBufferResetFlagBits (CommandBufferResetFlagBits(..))+import Vulkan.Core10.Enums.CommandBufferResetFlagBits (CommandBufferResetFlags)+import Vulkan.Core10.Enums.CommandBufferUsageFlagBits (CommandBufferUsageFlagBits(..))+import Vulkan.Core10.Enums.CommandBufferUsageFlagBits (CommandBufferUsageFlags)+import Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlagBits(..))+import Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -293,9 +309,10 @@ -- -- -   If @commandBuffer@ is a secondary command buffer and either the --     @occlusionQueryEnable@ member of the @pInheritanceInfo@ member of---     @pBeginInfo@ is 'Vulkan.Core10.BaseType.FALSE', or the precise---     occlusion queries feature is not enabled, the @queryFlags@ member of---     the @pInheritanceInfo@ member @pBeginInfo@ /must/ not contain+--     @pBeginInfo@ is 'Vulkan.Core10.FundamentalTypes.FALSE', or the+--     precise occlusion queries feature is not enabled, the @queryFlags@+--     member of the @pInheritanceInfo@ member @pBeginInfo@ /must/ not+--     contain --     'Vulkan.Core10.Enums.QueryControlFlagBits.QUERY_CONTROL_PRECISE_BIT' -- -- -   If @commandBuffer@ is a primary command buffer, then@@ -613,7 +630,7 @@ -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-inheritedQueries inherited queries> --     feature is not enabled, @occlusionQueryEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-inheritedQueries inherited queries>@@ -657,14 +674,14 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'CommandBufferBeginInfo',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'CommandBufferBeginInfo', -- 'Vulkan.Core10.Handles.Framebuffer', -- 'Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlags', -- 'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlags', -- 'Vulkan.Core10.Handles.RenderPass', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data CommandBufferInheritanceInfo (es :: [Type]) = CommandBufferInheritanceInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @renderPass@ is a 'Vulkan.Core10.Handles.RenderPass' object defining     -- which render passes the 'Vulkan.Core10.Handles.CommandBuffer' will be@@ -694,11 +711,11 @@     framebuffer :: Framebuffer   , -- | @occlusionQueryEnable@ specifies whether the command buffer /can/ be     -- executed while an occlusion query is active in the primary command-    -- buffer. If this is 'Vulkan.Core10.BaseType.TRUE', then this command-    -- buffer /can/ be executed whether the primary command buffer has an-    -- occlusion query active or not. If this is-    -- 'Vulkan.Core10.BaseType.FALSE', then the primary command buffer /must/-    -- not have an occlusion query active.+    -- buffer. If this is 'Vulkan.Core10.FundamentalTypes.TRUE', then this+    -- command buffer /can/ be executed whether the primary command buffer has+    -- an occlusion query active or not. If this is+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', then the primary command buffer+    -- /must/ not have an occlusion query active.     occlusionQueryEnable :: Bool   , -- | @queryFlags@ specifies the query flags that /can/ be used by an active     -- occlusion query in the primary command buffer when this secondary@@ -826,7 +843,7 @@ -- 'Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'beginCommandBuffer' data CommandBufferBeginInfo (es :: [Type]) = CommandBufferBeginInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlagBits'
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -46,29 +46,39 @@                                             , cmdNextSubpass                                             , cmdEndRenderPass                                             , cmdExecuteCommands-                                            , Viewport(..)-                                            , Rect2D(..)                                             , ClearRect(..)+                                            , ImageSubresourceLayers(..)                                             , BufferCopy(..)                                             , ImageCopy(..)                                             , ImageBlit(..)                                             , BufferImageCopy(..)                                             , ImageResolve(..)                                             , RenderPassBeginInfo(..)+                                            , ClearDepthStencilValue(..)                                             , ClearAttachment(..)+                                            , ClearColorValue(..)+                                            , ClearValue(..)+                                            , IndexType(..)+                                            , SubpassContents(..)+                                            , StencilFaceFlagBits(..)+                                            , StencilFaceFlags                                             ) where  import Vulkan.CStruct.Utils (FixedArray)+import Control.Exception.Base (bracket) import Control.Monad (unless) import Control.Monad.IO.Class (liftIO) import Data.Typeable (eqT) import Foreign.Marshal.Alloc (allocaBytesAligned)+import Foreign.Marshal.Alloc (callocBytes)+import Foreign.Marshal.Alloc (free) import GHC.IO (throwIO) import GHC.Ptr (castPtr) import GHC.Ptr (nullFunPtr) import Foreign.Ptr (plusPtr) import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Cont (evalContT)+import Control.Monad.Trans.Cont (runContT) import qualified Data.Vector (imapM_) import qualified Data.Vector (length) import Foreign.C.Types (CFloat(..))@@ -100,9 +110,6 @@ import Vulkan.Core10.Handles (Buffer(..)) import Vulkan.Core10.OtherTypes (BufferMemoryBarrier) import Vulkan.CStruct.Extends (Chain)-import Vulkan.Core10.SharedTypes (ClearColorValue)-import Vulkan.Core10.SharedTypes (ClearDepthStencilValue)-import Vulkan.Core10.SharedTypes (ClearValue) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T)@@ -155,14 +162,13 @@ import Vulkan.Dynamic (DeviceCmds(pVkCmdWaitEvents)) import Vulkan.Dynamic (DeviceCmds(pVkCmdWriteTimestamp)) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group (DeviceGroupRenderPassBeginInfo)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Event) import Vulkan.Core10.Handles (Event(..)) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))-import Vulkan.Core10.SharedTypes (Extent2D)-import Vulkan.Core10.SharedTypes (Extent3D)+import Vulkan.Core10.FundamentalTypes (Extent3D) import Vulkan.Core10.Enums.Filter (Filter) import Vulkan.Core10.Enums.Filter (Filter(..)) import Vulkan.Core10.Handles (Framebuffer)@@ -174,13 +180,11 @@ import Vulkan.Core10.Enums.ImageLayout (ImageLayout) import Vulkan.Core10.Enums.ImageLayout (ImageLayout(..)) import Vulkan.Core10.OtherTypes (ImageMemoryBarrier)-import Vulkan.Core10.SharedTypes (ImageSubresourceLayers)-import Vulkan.Core10.SharedTypes (ImageSubresourceRange)+import Vulkan.Core10.ImageView (ImageSubresourceRange) import Vulkan.Core10.Enums.IndexType (IndexType) import Vulkan.Core10.Enums.IndexType (IndexType(..)) import Vulkan.Core10.OtherTypes (MemoryBarrier)-import Vulkan.Core10.SharedTypes (Offset2D)-import Vulkan.Core10.SharedTypes (Offset3D)+import Vulkan.Core10.FundamentalTypes (Offset3D) import Vulkan.Core10.Handles (Pipeline) import Vulkan.Core10.Handles (Pipeline(..)) import Vulkan.Core10.Enums.PipelineBindPoint (PipelineBindPoint)@@ -198,6 +202,7 @@ import Vulkan.Core10.Handles (QueryPool(..)) import Vulkan.Core10.Enums.QueryResultFlagBits (QueryResultFlagBits(..)) import Vulkan.Core10.Enums.QueryResultFlagBits (QueryResultFlags)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Handles (RenderPass) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (RenderPassAttachmentBeginInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (RenderPassSampleLocationsBeginInfoEXT)@@ -212,8 +217,13 @@ import Vulkan.Core10.Enums.SubpassContents (SubpassContents(..)) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Core10.Pipeline (Viewport) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO))+import Vulkan.Core10.Enums.IndexType (IndexType(..))+import Vulkan.Core10.Enums.StencilFaceFlagBits (StencilFaceFlagBits(..))+import Vulkan.Core10.Enums.StencilFaceFlagBits (StencilFaceFlags)+import Vulkan.Core10.Enums.SubpassContents (SubpassContents(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -272,11 +282,11 @@ -- -- -   If --     'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT'::@variableSampleLocations@---     is 'Vulkan.Core10.BaseType.FALSE', and @pipeline@ is a graphics---     pipeline created with a+--     is 'Vulkan.Core10.FundamentalTypes.FALSE', and @pipeline@ is a+--     graphics pipeline created with a --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT' --     structure having its @sampleLocationsEnable@ member set to---     'Vulkan.Core10.BaseType.TRUE' but without+--     'Vulkan.Core10.FundamentalTypes.TRUE' but without --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT' --     enabled then the current render pass instance /must/ have been begun --     by specifying a@@ -406,7 +416,7 @@ --     'Vulkan.Core10.Handles.CommandBuffer' handle -- -- -   @pViewports@ /must/ be a valid pointer to an array of---     @viewportCount@ valid 'Viewport' structures+--     @viewportCount@ valid 'Vulkan.Core10.Pipeline.Viewport' structures -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -436,7 +446,7 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.CommandBuffer', 'Viewport'+-- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Pipeline.Viewport' cmdSetViewport :: forall io                 . (MonadIO io)                => -- | @commandBuffer@ is the command buffer into which the command will be@@ -445,8 +455,9 @@                -> -- | @firstViewport@ is the index of the first viewport whose parameters are                   -- updated by the command.                   ("firstViewport" ::: Word32)-               -> -- | @pViewports@ is a pointer to an array of 'Viewport' structures-                  -- specifying viewport parameters.+               -> -- | @pViewports@ is a pointer to an array of+                  -- 'Vulkan.Core10.Pipeline.Viewport' structures specifying viewport+                  -- parameters.                   ("viewports" ::: Vector Viewport)                -> io () cmdSetViewport commandBuffer firstViewport viewports = liftIO . evalContT $ do@@ -513,7 +524,7 @@ --     'Vulkan.Core10.Handles.CommandBuffer' handle -- -- -   @pScissors@ /must/ be a valid pointer to an array of @scissorCount@---     'Rect2D' structures+--     'Vulkan.Core10.FundamentalTypes.Rect2D' structures -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -543,7 +554,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.CommandBuffer', 'Rect2D'+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D' cmdSetScissor :: forall io                . (MonadIO io)               => -- | @commandBuffer@ is the command buffer into which the command will be@@ -552,8 +564,9 @@               -> -- | @firstScissor@ is the index of the first scissor whose state is updated                  -- by the command.                  ("firstScissor" ::: Word32)-              -> -- | @pScissors@ is a pointer to an array of 'Rect2D' structures defining-                 -- scissor rectangles.+              -> -- | @pScissors@ is a pointer to an array of+                 -- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures defining scissor+                 -- rectangles.                  ("scissors" ::: Vector Rect2D)               -> io () cmdSetScissor commandBuffer firstScissor scissors = liftIO . evalContT $ do@@ -642,8 +655,8 @@ -- -- = Description ----- If @depthBiasEnable@ is 'Vulkan.Core10.BaseType.FALSE', no depth bias is--- applied and the fragment’s depth values are unchanged.+-- If @depthBiasEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE', no depth+-- bias is applied and the fragment’s depth values are unchanged. -- -- @depthBiasSlopeFactor@ scales the maximum depth slope of the polygon, -- and @depthBiasConstantFactor@ scales an implementation-dependent@@ -1422,7 +1435,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.IndexType.IndexType' cmdBindIndexBuffer :: forall io                     . (MonadIO io)@@ -1513,7 +1526,7 @@ --     'Vulkan.Core10.Handles.Buffer' handles -- -- -   @pOffsets@ /must/ be a valid pointer to an array of @bindingCount@---     'Vulkan.Core10.BaseType.DeviceSize' values+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' values -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -1548,7 +1561,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdBindVertexBuffers :: forall io                       . (MonadIO io)                      => -- | @commandBuffer@ is the command buffer into which the command is@@ -1761,9 +1774,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -2049,9 +2062,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -2331,9 +2344,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -2428,7 +2441,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDrawIndirect :: forall io                  . (MonadIO io)                 => -- | @commandBuffer@ is the command buffer into which the command is@@ -2637,9 +2650,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -2739,7 +2752,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDrawIndexedIndirect :: forall io                         . (MonadIO io)                        => -- | @commandBuffer@ is the command buffer into which the command is@@ -3201,7 +3214,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDispatchIndirect :: forall io                      . (MonadIO io)                     => -- | @commandBuffer@ is the command buffer into which the command will be@@ -4122,6 +4135,17 @@ -- -   @dstImage@ /must/ not have been created with @flags@ containing --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT' --+-- -   If the queue family used to create the+--     'Vulkan.Core10.Handles.CommandPool' which @commandBuffer@ was+--     allocated from does not support+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the+--     @bufferOffset@ member of any element of @pRegions@ /must/ be a+--     multiple of @4@+--+-- -   If @dstImage@ has a depth\/stencil format, the @bufferOffset@ member+--     of any element of @pRegions@ /must/ be a multiple of @4@+-- -- == Valid Usage (Implicit) -- -- -   @commandBuffer@ /must/ be a valid@@ -4311,6 +4335,17 @@ -- -   @srcImage@ /must/ not have been created with @flags@ containing --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT' --+-- -   If the queue family used to create the+--     'Vulkan.Core10.Handles.CommandPool' which @commandBuffer@ was+--     allocated from does not support+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the+--     @bufferOffset@ member of any element of @pRegions@ /must/ be a+--     multiple of @4@+--+-- -   If @srcImage@ has a depth\/stencil format, the @bufferOffset@ member+--     of any element of @pRegions@ /must/ be a multiple of @4@+-- -- == Valid Usage (Implicit) -- -- -   @commandBuffer@ /must/ be a valid@@ -4506,7 +4541,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdUpdateBuffer :: forall io                  . (MonadIO io)                 => -- | @commandBuffer@ is the command buffer into which the command will be@@ -4621,7 +4656,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdFillBuffer :: forall io                . (MonadIO io)               => -- | @commandBuffer@ is the command buffer into which the command will be@@ -4693,32 +4728,31 @@ --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL', or --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR' ----- -   The 'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@aspectMask@+-- -   The 'Vulkan.Core10.ImageView.ImageSubresourceRange'::@aspectMask@ --     members of the elements of the @pRanges@ array /must/ each only --     include --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT' ----- -   The---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@baseMipLevel@+-- -   The 'Vulkan.Core10.ImageView.ImageSubresourceRange'::@baseMipLevel@ --     members of the elements of the @pRanges@ array /must/ each be less --     than the @mipLevels@ specified in --     'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was created ----- -   For each 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' element---     of @pRanges@, if the @levelCount@ member is not+-- -   For each 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of+--     @pRanges@, if the @levelCount@ member is not --     'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS', then --     @baseMipLevel@ + @levelCount@ /must/ be less than the @mipLevels@ --     specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was --     created -- -- -   The---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@baseArrayLayer@+--     'Vulkan.Core10.ImageView.ImageSubresourceRange'::@baseArrayLayer@ --     members of the elements of the @pRanges@ array /must/ each be less --     than the @arrayLayers@ specified in --     'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was created ----- -   For each 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' element---     of @pRanges@, if the @layerCount@ member is not+-- -   For each 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of+--     @pRanges@, if the @layerCount@ member is not --     'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', then --     @baseArrayLayer@ + @layerCount@ /must/ be less than the --     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'@@ -4742,11 +4776,11 @@ -- -   @imageLayout@ /must/ be a valid --     'Vulkan.Core10.Enums.ImageLayout.ImageLayout' value ----- -   @pColor@ /must/ be a valid pointer to a valid---     'Vulkan.Core10.SharedTypes.ClearColorValue' union+-- -   @pColor@ /must/ be a valid pointer to a valid 'ClearColorValue'+--     union -- -- -   @pRanges@ /must/ be a valid pointer to an array of @rangeCount@---     valid 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' structures+--     valid 'Vulkan.Core10.ImageView.ImageSubresourceRange' structures -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -4781,10 +4815,10 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.ClearColorValue',--- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Image',+-- 'ClearColorValue', 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Handles.Image', -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',--- 'Vulkan.Core10.SharedTypes.ImageSubresourceRange'+-- 'Vulkan.Core10.ImageView.ImageSubresourceRange' cmdClearColorImage :: forall io                     . (MonadIO io)                    => -- | @commandBuffer@ is the command buffer into which the command will be@@ -4798,15 +4832,14 @@                       -- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' or                       -- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL'.                       ImageLayout-                   -> -- | @pColor@ is a pointer to a 'Vulkan.Core10.SharedTypes.ClearColorValue'-                      -- structure containing the values that the image subresource ranges will-                      -- be cleared to (see+                   -> -- | @pColor@ is a pointer to a 'ClearColorValue' structure containing the+                      -- values that the image subresource ranges will be cleared to (see                       -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears-values>                       -- below).                       ClearColorValue                    -> -- | @pRanges@ is a pointer to an array of-                      -- 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' structures describing-                      -- a range of mipmap levels, array layers, and aspects to be cleared, as+                      -- 'Vulkan.Core10.ImageView.ImageSubresourceRange' structures describing a+                      -- range of mipmap levels, array layers, and aspects to be cleared, as                       -- described in                       -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views Image Views>.                       ("ranges" ::: Vector ImageSubresourceRange)@@ -4876,44 +4909,43 @@ --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL' --     or 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' ----- -   The 'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@aspectMask@+-- -   The 'Vulkan.Core10.ImageView.ImageSubresourceRange'::@aspectMask@ --     member of each element of the @pRanges@ array /must/ not include --     bits other than --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT' -- -- -   If the @image@’s format does not have a stencil component, then the---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@aspectMask@---     member of each element of the @pRanges@ array /must/ not include the+--     'Vulkan.Core10.ImageView.ImageSubresourceRange'::@aspectMask@ member+--     of each element of the @pRanges@ array /must/ not include the --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT' --     bit -- -- -   If the @image@’s format does not have a depth component, then the---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@aspectMask@---     member of each element of the @pRanges@ array /must/ not include the+--     'Vulkan.Core10.ImageView.ImageSubresourceRange'::@aspectMask@ member+--     of each element of the @pRanges@ array /must/ not include the --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' bit ----- -   The---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@baseMipLevel@+-- -   The 'Vulkan.Core10.ImageView.ImageSubresourceRange'::@baseMipLevel@ --     members of the elements of the @pRanges@ array /must/ each be less --     than the @mipLevels@ specified in --     'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was created ----- -   For each 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' element---     of @pRanges@, if the @levelCount@ member is not+-- -   For each 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of+--     @pRanges@, if the @levelCount@ member is not --     'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS', then --     @baseMipLevel@ + @levelCount@ /must/ be less than the @mipLevels@ --     specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was --     created -- -- -   The---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange'::@baseArrayLayer@+--     'Vulkan.Core10.ImageView.ImageSubresourceRange'::@baseArrayLayer@ --     members of the elements of the @pRanges@ array /must/ each be less --     than the @arrayLayers@ specified in --     'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was created ----- -   For each 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' element---     of @pRanges@, if the @layerCount@ member is not+-- -   For each 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of+--     @pRanges@, if the @layerCount@ member is not --     'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', then --     @baseArrayLayer@ + @layerCount@ /must/ be less than the --     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'@@ -4938,10 +4970,10 @@ --     'Vulkan.Core10.Enums.ImageLayout.ImageLayout' value -- -- -   @pDepthStencil@ /must/ be a valid pointer to a valid---     'Vulkan.Core10.SharedTypes.ClearDepthStencilValue' structure+--     'ClearDepthStencilValue' structure -- -- -   @pRanges@ /must/ be a valid pointer to an array of @rangeCount@---     valid 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' structures+--     valid 'Vulkan.Core10.ImageView.ImageSubresourceRange' structures -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -4976,10 +5008,10 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.ClearDepthStencilValue',--- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Image',+-- 'ClearDepthStencilValue', 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Handles.Image', -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',--- 'Vulkan.Core10.SharedTypes.ImageSubresourceRange'+-- 'Vulkan.Core10.ImageView.ImageSubresourceRange' cmdClearDepthStencilImage :: forall io                            . (MonadIO io)                           => -- | @commandBuffer@ is the command buffer into which the command will be@@ -4992,16 +5024,15 @@                              -- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' or                              -- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL'.                              ImageLayout-                          -> -- | @pDepthStencil@ is a pointer to a-                             -- 'Vulkan.Core10.SharedTypes.ClearDepthStencilValue' structure containing-                             -- the values that the depth and stencil image subresource ranges will be-                             -- cleared to (see+                          -> -- | @pDepthStencil@ is a pointer to a 'ClearDepthStencilValue' structure+                             -- containing the values that the depth and stencil image subresource+                             -- ranges will be cleared to (see                              -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears-values>                              -- below).                              ClearDepthStencilValue                           -> -- | @pRanges@ is a pointer to an array of-                             -- 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' structures describing-                             -- a range of mipmap levels, array layers, and aspects to be cleared, as+                             -- 'Vulkan.Core10.ImageView.ImageSubresourceRange' structures describing a+                             -- range of mipmap levels, array layers, and aspects to be cleared, as                              -- described in                              -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views Image Views>.                              ("ranges" ::: Vector ImageSubresourceRange)@@ -5491,7 +5522,8 @@                Event             -> -- | @stageMask@ specifies the                -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages source stage mask>-               -- used to determine when the @event@ is signaled.+               -- used to determine the first+               -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-scopes synchronization scope>.                ("stageMask" ::: PipelineStageFlags)             -> io () cmdSetEvent commandBuffer event stageMask = liftIO $ do@@ -5774,6 +5806,52 @@ -- -- == Valid Usage --+-- -   The @srcAccessMask@ member of each element of @pMemoryBarriers@+--     /must/ only include access flags that are supported by one or more+--     of the pipeline stages in @srcStageMask@, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>+--+-- -   The @dstAccessMask@ member of each element of @pMemoryBarriers@+--     /must/ only include access flags that are supported by one or more+--     of the pipeline stages in @dstStageMask@, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>+--+-- -   For any element of @pBufferMemoryBarriers@, if its+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members are equal,+--     or if its @srcQueueFamilyIndex@ is the queue family index that was+--     used to create the command pool that @commandBuffer@ was allocated+--     from, then its @srcAccessMask@ member /must/ only contain access+--     flags that are supported by one or more of the pipeline stages in+--     @srcStageMask@, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>+--+-- -   For any element of @pBufferMemoryBarriers@, if its+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members are equal,+--     or if its @dstQueueFamilyIndex@ is the queue family index that was+--     used to create the command pool that @commandBuffer@ was allocated+--     from, then its @dstAccessMask@ member /must/ only contain access+--     flags that are supported by one or more of the pipeline stages in+--     @dstStageMask@, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>+--+-- -   For any element of @pImageMemoryBarriers@, if its+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members are equal,+--     or if its @srcQueueFamilyIndex@ is the queue family index that was+--     used to create the command pool that @commandBuffer@ was allocated+--     from, then its @srcAccessMask@ member /must/ only contain access+--     flags that are supported by one or more of the pipeline stages in+--     @srcStageMask@, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>+--+-- -   For any element of @pImageMemoryBarriers@, if its+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members are equal,+--     or if its @dstQueueFamilyIndex@ is the queue family index that was+--     used to create the command pool that @commandBuffer@ was allocated+--     from, then its @dstAccessMask@ member /must/ only contain access+--     flags that are supported by one or more of the pipeline stages in+--     @dstStageMask@, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>+-- -- -   @srcStageMask@ /must/ be the bitwise OR of the @stageMask@ parameter --     used in previous calls to 'cmdSetEvent' with any of the members of --     @pEvents@ and@@ -5818,18 +5896,6 @@ --     @commandBuffer@ was allocated from, as specified in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages> ----- -   Each element of @pMemoryBarriers@, @pBufferMemoryBarriers@ or---     @pImageMemoryBarriers@ /must/ not have any access flag included in---     its @srcAccessMask@ member if that bit is not supported by any of---     the pipeline stages in @srcStageMask@, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>------ -   Each element of @pMemoryBarriers@, @pBufferMemoryBarriers@ or---     @pImageMemoryBarriers@ /must/ not have any access flag included in---     its @dstAccessMask@ member if that bit is not supported by any of---     the pipeline stages in @dstStageMask@, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>--- -- -   The @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members of any --     element of @pBufferMemoryBarriers@ or @pImageMemoryBarriers@ /must/ --     be equal@@ -5857,38 +5923,6 @@ --     feature is not enabled, @dstStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV' ----- -   The @srcAccessMask@ member of each element of @pMemoryBarriers@---     /must/ only include access flags that are supported by one or more---     of the pipeline stages in @srcStageMask@, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>------ -   The @dstAccessMask@ member of each element of @pMemoryBarriers@---     /must/ only include access flags that are supported by one or more---     of the pipeline stages in @dstStageMask@, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>------ -   The @srcAccessMask@ member of each element of---     @pBufferMemoryBarriers@ /must/ only include access flags that are---     supported by one or more of the pipeline stages in @srcStageMask@,---     as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>------ -   The @dstAccessMask@ member of each element of---     @pBufferMemoryBarriers@ /must/ only include access flags that are---     supported by one or more of the pipeline stages in @dstStageMask@,---     as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>------ -   The @srcAccessMask@ member of each element of @pImageMemoryBarriers@---     /must/ only include access flags that are supported by one or more---     of the pipeline stages in @srcStageMask@, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>------ -   The @dstAccessMask@ member of any element of @pImageMemoryBarriers@---     /must/ only include access flags that are supported by one or more---     of the pipeline stages in @dstStageMask@, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types>--- -- == Valid Usage (Implicit) -- -- -   @commandBuffer@ /must/ be a valid@@ -6094,6 +6128,36 @@ -- -- == Valid Usage --+-- -   If 'cmdPipelineBarrier' is called within a render pass instance, the+--     render pass /must/ have been created with at least one+--     'Vulkan.Core10.Pass.SubpassDependency' instance in+--     'Vulkan.Core10.Pass.RenderPassCreateInfo'::@pDependencies@ that+--     expresses a dependency from the current subpass to itself, with+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-scopes synchronization scopes>+--     and+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-access-scopes access scopes>+--     that are all supersets of the scopes defined in this command+--+-- -   If 'cmdPipelineBarrier' is called within a render pass instance, it+--     /must/ not include any buffer memory barriers+--+-- -   If 'cmdPipelineBarrier' is called within a render pass instance, the+--     @image@ member of any image memory barrier included in this command+--     /must/ be an attachment used in the current subpass both as an input+--     attachment, and as either a color or depth\/stencil attachment+--+-- -   If 'cmdPipelineBarrier' is called within a render pass instance, the+--     @oldLayout@ and @newLayout@ members of any image memory barrier+--     included in this command /must/ be equal+--+-- -   If 'cmdPipelineBarrier' is called within a render pass instance, the+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members of any image+--     memory barrier included in this command /must/ be equal+--+-- -   If 'cmdPipelineBarrier' is called outside of a render pass instance,+--     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'+--     /must/ not be included in the dependency flags+-- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders> --     feature is not enabled, @srcStageMask@ /must/ not contain@@ -6118,58 +6182,6 @@ --     or --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' ----- -   If 'cmdPipelineBarrier' is called within a render pass instance, the---     render pass /must/ have been created with at least one---     'Vulkan.Core10.Pass.SubpassDependency' instance in---     'Vulkan.Core10.Pass.RenderPassCreateInfo'::@pDependencies@ that---     expresses a dependency from the current subpass to itself, and for---     which @srcStageMask@ contains a subset of the bit values in---     'Vulkan.Core10.Pass.SubpassDependency'::@srcStageMask@,---     @dstStageMask@ contains a subset of the bit values in---     'Vulkan.Core10.Pass.SubpassDependency'::@dstStageMask@,---     @dependencyFlags@ is equal to---     'Vulkan.Core10.Pass.SubpassDependency'::@dependencyFlags@,---     @srcAccessMask@ member of each element of @pMemoryBarriers@ and---     @pImageMemoryBarriers@ contains a subset of the bit values in---     'Vulkan.Core10.Pass.SubpassDependency'::@srcAccessMask@, and---     @dstAccessMask@ member of each element of @pMemoryBarriers@ and---     @pImageMemoryBarriers@ contains a subset of the bit values in---     'Vulkan.Core10.Pass.SubpassDependency'::@dstAccessMask@------ -   If 'cmdPipelineBarrier' is called within a render pass instance,---     @bufferMemoryBarrierCount@ /must/ be @0@------ -   If 'cmdPipelineBarrier' is called within a render pass instance, the---     @image@ member of any element of @pImageMemoryBarriers@ /must/ be---     equal to one of the elements of @pAttachments@ that the current---     @framebuffer@ was created with, that is also referred to by one of---     the elements of the @pColorAttachments@, @pResolveAttachments@ or---     @pDepthStencilAttachment@ members of the---     'Vulkan.Core10.Pass.SubpassDescription' instance or by the---     @pDepthStencilResolveAttachment@ member of the---     'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve'---     structure that the current subpass was created with------ -   If 'cmdPipelineBarrier' is called within a render pass instance, the---     @oldLayout@ and @newLayout@ members of any element of---     @pImageMemoryBarriers@ /must/ be equal to the @layout@ member of an---     element of the @pColorAttachments@, @pResolveAttachments@ or---     @pDepthStencilAttachment@ members of the---     'Vulkan.Core10.Pass.SubpassDescription' instance or by the---     @pDepthStencilResolveAttachment@ member of the---     'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve'---     structure that the current subpass was created with, that refers to---     the same @image@------ -   If 'cmdPipelineBarrier' is called within a render pass instance, the---     @oldLayout@ and @newLayout@ members of an element of---     @pImageMemoryBarriers@ /must/ be equal------ -   If 'cmdPipelineBarrier' is called within a render pass instance, the---     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members of any---     element of @pImageMemoryBarriers@ /must/ be---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED'--- -- -   Any pipeline stage included in @srcStageMask@ or @dstStageMask@ --     /must/ be supported by the capabilities of the queue family --     specified by the @queueFamilyIndex@ member of the@@ -6178,10 +6190,6 @@ --     @commandBuffer@ was allocated from, as specified in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages> ----- -   If 'cmdPipelineBarrier' is called outside of a render pass instance,---     @dependencyFlags@ /must/ not include---     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'--- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders> --     feature is not enabled, @srcStageMask@ /must/ not contain@@ -6803,19 +6811,6 @@ -- at any specific stage of the pipeline, it /may/ instead do so at any -- logically later stage. ----- 'cmdCopyQueryPoolResults' /can/ then be called to copy the timestamp--- value from the query pool into buffer memory, with ordering and--- synchronization behavior equivalent to how other queries operate.--- Timestamp values /can/ also be retrieved from the query pool using--- 'Vulkan.Core10.Query.getQueryPoolResults'. As with other queries, the--- query /must/ be reset using 'cmdResetQueryPool' or--- 'Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.resetQueryPool'--- before requesting the timestamp value be written to it.------ While 'cmdWriteTimestamp' /can/ be called inside or outside of a render--- pass instance, 'cmdCopyQueryPoolResults' /must/ only be called outside--- of a render pass instance.--- -- Timestamps /may/ only be meaningfully compared if they are written by -- commands submitted to the same queue. --@@ -6848,6 +6843,50 @@ -- -- == Valid Usage --+-- -   @pipelineStage@ /must/ be a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported valid stage>+--     for the queue family that was used to create the command pool that+--     @commandBuffer@ was allocated from+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'+--     or+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--     or+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+-- -- -   @queryPool@ /must/ have been created with a @queryType@ of --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_TIMESTAMP' --@@ -7045,7 +7084,7 @@ -- -   If the @queryType@ used to create @queryPool@ was --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR', --     'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR'::@allowCommandBufferQueryCopies@---     /must/ be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If the @queryType@ used to create @queryPool@ was --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',@@ -7110,7 +7149,8 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize', 'Vulkan.Core10.Handles.QueryPool',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Handles.QueryPool', -- 'Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlags' cmdCopyQueryPoolResults :: forall io                          . (MonadIO io)@@ -7768,7 +7808,7 @@ --     then each element of @pCommandBuffers@ /must/ have been recorded --     with --     'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo'::@occlusionQueryEnable@---     set to 'Vulkan.Core10.BaseType.TRUE'+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If @commandBuffer@ has a --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_OCCLUSION' query@@ -7869,218 +7909,6 @@   pure $ ()  --- | VkViewport - Structure specifying a viewport------ = Description------ The framebuffer depth coordinate @z@f /may/ be represented using either--- a fixed-point or floating-point representation. However, a--- floating-point representation /must/ be used if the depth\/stencil--- attachment has a floating-point depth component. If an m-bit fixed-point--- representation is used, we assume that it represents each value--- \(\frac{k}{2^m - 1}\), where k ∈ { 0, 1, …​, 2m-1 }, as k (e.g. 1.0 is--- represented in binary as a string of all ones).------ The viewport parameters shown in the above equations are found from--- these values as------ -   ox = @x@ + @width@ \/ 2------ -   oy = @y@ + @height@ \/ 2------ -   oz = @minDepth@------ -   px = @width@------ -   py = @height@------ -   pz = @maxDepth@ - @minDepth@.------ If a render pass transform is enabled, the values (px,py) and (ox, oy)--- defining the viewport are transformed as described in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vertexpostproc-renderpass-transform render pass transform>--- before participating in the viewport transform.------ The application /can/ specify a negative term for @height@, which has--- the effect of negating the y coordinate in clip space before performing--- the transform. When using a negative @height@, the application /should/--- also adjust the @y@ value to point to the lower left corner of the--- viewport instead of the upper left corner. Using the negative @height@--- allows the application to avoid having to negate the y component of the--- @Position@ output from the last vertex processing stage in shaders that--- also target other graphics APIs.------ The width and height of the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxViewportDimensions implementation-dependent maximum viewport dimensions>--- /must/ be greater than or equal to the width and height of the largest--- image which /can/ be created and attached to a framebuffer.------ The floating-point viewport bounds are represented with an--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-viewportSubPixelBits implementation-dependent precision>.------ == Valid Usage------ -   @width@ /must/ be greater than @0.0@------ -   @width@ /must/ be less than or equal to---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxViewportDimensions@[0]------ -   The absolute value of @height@ /must/ be less than or equal to---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxViewportDimensions@[1]------ -   @x@ /must/ be greater than or equal to @viewportBoundsRange@[0]------ -   (@x@ + @width@) /must/ be less than or equal to---     @viewportBoundsRange@[1]------ -   @y@ /must/ be greater than or equal to @viewportBoundsRange@[0]------ -   @y@ /must/ be less than or equal to @viewportBoundsRange@[1]------ -   (@y@ + @height@) /must/ be greater than or equal to---     @viewportBoundsRange@[0]------ -   (@y@ + @height@) /must/ be less than or equal to---     @viewportBoundsRange@[1]------ -   Unless @VK_EXT_depth_range_unrestricted@ extension is enabled---     @minDepth@ /must/ be between @0.0@ and @1.0@, inclusive------ -   Unless @VK_EXT_depth_range_unrestricted@ extension is enabled---     @maxDepth@ /must/ be between @0.0@ and @1.0@, inclusive------ = See Also------ 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo',--- 'cmdSetViewport'-data Viewport = Viewport-  { -- | @x@ and @y@ are the viewport’s upper left corner (x,y).-    x :: Float-  , -- No documentation found for Nested "VkViewport" "y"-    y :: Float-  , -- | @width@ and @height@ are the viewport’s width and height, respectively.-    width :: Float-  , -- No documentation found for Nested "VkViewport" "height"-    height :: Float-  , -- | @minDepth@ and @maxDepth@ are the depth range for the viewport. It is-    -- valid for @minDepth@ to be greater than or equal to @maxDepth@.-    minDepth :: Float-  , -- No documentation found for Nested "VkViewport" "maxDepth"-    maxDepth :: Float-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (Viewport)-#endif-deriving instance Show Viewport--instance ToCStruct Viewport where-  withCStruct x f = allocaBytesAligned 24 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p Viewport{..} f = do-    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (x))-    poke ((p `plusPtr` 4 :: Ptr CFloat)) (CFloat (y))-    poke ((p `plusPtr` 8 :: Ptr CFloat)) (CFloat (width))-    poke ((p `plusPtr` 12 :: Ptr CFloat)) (CFloat (height))-    poke ((p `plusPtr` 16 :: Ptr CFloat)) (CFloat (minDepth))-    poke ((p `plusPtr` 20 :: Ptr CFloat)) (CFloat (maxDepth))-    f-  cStructSize = 24-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (zero))-    poke ((p `plusPtr` 4 :: Ptr CFloat)) (CFloat (zero))-    poke ((p `plusPtr` 8 :: Ptr CFloat)) (CFloat (zero))-    poke ((p `plusPtr` 12 :: Ptr CFloat)) (CFloat (zero))-    poke ((p `plusPtr` 16 :: Ptr CFloat)) (CFloat (zero))-    poke ((p `plusPtr` 20 :: Ptr CFloat)) (CFloat (zero))-    f--instance FromCStruct Viewport where-  peekCStruct p = do-    x <- peek @CFloat ((p `plusPtr` 0 :: Ptr CFloat))-    y <- peek @CFloat ((p `plusPtr` 4 :: Ptr CFloat))-    width <- peek @CFloat ((p `plusPtr` 8 :: Ptr CFloat))-    height <- peek @CFloat ((p `plusPtr` 12 :: Ptr CFloat))-    minDepth <- peek @CFloat ((p `plusPtr` 16 :: Ptr CFloat))-    maxDepth <- peek @CFloat ((p `plusPtr` 20 :: Ptr CFloat))-    pure $ Viewport-             ((\(CFloat a) -> a) x) ((\(CFloat a) -> a) y) ((\(CFloat a) -> a) width) ((\(CFloat a) -> a) height) ((\(CFloat a) -> a) minDepth) ((\(CFloat a) -> a) maxDepth)--instance Storable Viewport where-  sizeOf ~_ = 24-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero Viewport where-  zero = Viewport-           zero-           zero-           zero-           zero-           zero-           zero----- | VkRect2D - Structure specifying a two-dimensional subregion------ = See Also------ 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo',--- 'ClearRect',--- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM',--- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo',--- 'Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR',--- 'Vulkan.Core10.SharedTypes.Extent2D',--- 'Vulkan.Core10.SharedTypes.Offset2D',--- 'Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT',--- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV',--- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo',--- 'RenderPassBeginInfo',--- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT',--- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorNV',--- 'cmdSetScissor',--- 'Vulkan.Extensions.VK_KHR_swapchain.getPhysicalDevicePresentRectanglesKHR'-data Rect2D = Rect2D-  { -- | @offset@ is a 'Vulkan.Core10.SharedTypes.Offset2D' specifying the-    -- rectangle offset.-    offset :: Offset2D-  , -- | @extent@ is a 'Vulkan.Core10.SharedTypes.Extent2D' specifying the-    -- rectangle extent.-    extent :: Extent2D-  }-  deriving (Typeable)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (Rect2D)-#endif-deriving instance Show Rect2D--instance ToCStruct Rect2D where-  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p Rect2D{..} f = evalContT $ do-    ContT $ pokeCStruct ((p `plusPtr` 0 :: Ptr Offset2D)) (offset) . ($ ())-    ContT $ pokeCStruct ((p `plusPtr` 8 :: Ptr Extent2D)) (extent) . ($ ())-    lift $ f-  cStructSize = 16-  cStructAlignment = 4-  pokeZeroCStruct p f = evalContT $ do-    ContT $ pokeCStruct ((p `plusPtr` 0 :: Ptr Offset2D)) (zero) . ($ ())-    ContT $ pokeCStruct ((p `plusPtr` 8 :: Ptr Extent2D)) (zero) . ($ ())-    lift $ f--instance FromCStruct Rect2D where-  peekCStruct p = do-    offset <- peekCStruct @Offset2D ((p `plusPtr` 0 :: Ptr Offset2D))-    extent <- peekCStruct @Extent2D ((p `plusPtr` 8 :: Ptr Extent2D))-    pure $ Rect2D-             offset extent--instance Zero Rect2D where-  zero = Rect2D-           zero-           zero-- -- | VkClearRect - Structure specifying a clear rectangle -- -- = Description@@ -8090,7 +7918,7 @@ -- -- = See Also ----- 'Rect2D', 'cmdClearAttachments'+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', 'cmdClearAttachments' data ClearRect = ClearRect   { -- | @rect@ is the two-dimensional region to be cleared.     rect :: Rect2D@@ -8135,6 +7963,96 @@            zero  +-- | VkImageSubresourceLayers - Structure specifying an image subresource+-- layers+--+-- == Valid Usage+--+-- -   If @aspectMask@ contains+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT', it+--     /must/ not contain either of+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'+--+-- -   @aspectMask@ /must/ not contain+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_METADATA_BIT'+--+-- -   @aspectMask@ /must/ not include+--     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index @i@+--+-- -   @layerCount@ /must/ be greater than 0+--+-- == Valid Usage (Implicit)+--+-- -   @aspectMask@ /must/ be a valid combination of+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' values+--+-- -   @aspectMask@ /must/ not be @0@+--+-- = See Also+--+-- 'BufferImageCopy',+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags', 'ImageBlit',+-- 'ImageCopy', 'ImageResolve'+data ImageSubresourceLayers = ImageSubresourceLayers+  { -- | @aspectMask@ is a combination of+    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits', selecting+    -- the color, depth and\/or stencil aspects to be copied.+    aspectMask :: ImageAspectFlags+  , -- | @mipLevel@ is the mipmap level to copy from.+    mipLevel :: Word32+  , -- | @baseArrayLayer@ and @layerCount@ are the starting layer and number of+    -- layers to copy.+    baseArrayLayer :: Word32+  , -- No documentation found for Nested "VkImageSubresourceLayers" "layerCount"+    layerCount :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (ImageSubresourceLayers)+#endif+deriving instance Show ImageSubresourceLayers++instance ToCStruct ImageSubresourceLayers where+  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p ImageSubresourceLayers{..} f = do+    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (aspectMask)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (mipLevel)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (baseArrayLayer)+    poke ((p `plusPtr` 12 :: Ptr Word32)) (layerCount)+    f+  cStructSize = 16+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 12 :: Ptr Word32)) (zero)+    f++instance FromCStruct ImageSubresourceLayers where+  peekCStruct p = do+    aspectMask <- peek @ImageAspectFlags ((p `plusPtr` 0 :: Ptr ImageAspectFlags))+    mipLevel <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))+    baseArrayLayer <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))+    layerCount <- peek @Word32 ((p `plusPtr` 12 :: Ptr Word32))+    pure $ ImageSubresourceLayers+             aspectMask mipLevel baseArrayLayer layerCount++instance Storable ImageSubresourceLayers where+  sizeOf ~_ = 16+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero ImageSubresourceLayers where+  zero = ImageSubresourceLayers+           zero+           zero+           zero+           zero++ -- | VkBufferCopy - Structure specifying a buffer copy operation -- -- == Valid Usage@@ -8143,7 +8061,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize', 'cmdCopyBuffer'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'cmdCopyBuffer' data BufferCopy = BufferCopy   { -- | @srcOffset@ is the starting offset in bytes from the start of     -- @srcBuffer@.@@ -8397,22 +8315,20 @@ -- -- == Valid Usage (Implicit) ----- -   @srcSubresource@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structure+-- -   @srcSubresource@ /must/ be a valid 'ImageSubresourceLayers'+--     structure ----- -   @dstSubresource@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structure+-- -   @dstSubresource@ /must/ be a valid 'ImageSubresourceLayers'+--     structure -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent3D',--- 'Vulkan.Core10.SharedTypes.ImageSubresourceLayers',--- 'Vulkan.Core10.SharedTypes.Offset3D', 'cmdCopyImage'+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresourceLayers',+-- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'cmdCopyImage' data ImageCopy = ImageCopy-  { -- | @srcSubresource@ and @dstSubresource@ are-    -- 'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structures specifying-    -- the image subresources of the images used for the source and destination-    -- image data, respectively.+  { -- | @srcSubresource@ and @dstSubresource@ are 'ImageSubresourceLayers'+    -- structures specifying the image subresources of the images used for the+    -- source and destination image data, respectively.     srcSubresource :: ImageSubresourceLayers   , -- | @srcOffset@ and @dstOffset@ select the initial @x@, @y@, and @z@ offsets     -- in texels of the sub-regions of the source and destination image data.@@ -8540,28 +8456,28 @@ -- -- == Valid Usage (Implicit) ----- -   @srcSubresource@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structure+-- -   @srcSubresource@ /must/ be a valid 'ImageSubresourceLayers'+--     structure ----- -   @dstSubresource@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structure+-- -   @dstSubresource@ /must/ be a valid 'ImageSubresourceLayers'+--     structure -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.ImageSubresourceLayers',--- 'Vulkan.Core10.SharedTypes.Offset3D', 'cmdBlitImage'+-- 'ImageSubresourceLayers', 'Vulkan.Core10.FundamentalTypes.Offset3D',+-- 'cmdBlitImage' data ImageBlit = ImageBlit   { -- | @srcSubresource@ is the subresource to blit from.     srcSubresource :: ImageSubresourceLayers   , -- | @srcOffsets@ is a pointer to an array of two-    -- 'Vulkan.Core10.SharedTypes.Offset3D' structures specifying the bounds of-    -- the source region within @srcSubresource@.+    -- 'Vulkan.Core10.FundamentalTypes.Offset3D' structures specifying the+    -- bounds of the source region within @srcSubresource@.     srcOffsets :: (Offset3D, Offset3D)   , -- | @dstSubresource@ is the subresource to blit into.     dstSubresource :: ImageSubresourceLayers   , -- | @dstOffsets@ is a pointer to an array of two-    -- 'Vulkan.Core10.SharedTypes.Offset3D' structures specifying the bounds of-    -- the destination region within @dstSubresource@.+    -- 'Vulkan.Core10.FundamentalTypes.Offset3D' structures specifying the+    -- bounds of the destination region within @dstSubresource@.     dstOffsets :: (Offset3D, Offset3D)   }   deriving (Typeable)@@ -8690,8 +8606,6 @@ --     @imageSubresource@ as defined in --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes> ----- -   @bufferOffset@ /must/ be a multiple of @4@--- -- -   @bufferRowLength@ /must/ be @0@, or greater than or equal to the --     @width@ member of @imageExtent@ --@@ -8790,15 +8704,14 @@ -- -- == Valid Usage (Implicit) ----- -   @imageSubresource@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structure+-- -   @imageSubresource@ /must/ be a valid 'ImageSubresourceLayers'+--     structure -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',--- 'Vulkan.Core10.SharedTypes.Extent3D',--- 'Vulkan.Core10.SharedTypes.ImageSubresourceLayers',--- 'Vulkan.Core10.SharedTypes.Offset3D', 'cmdCopyBufferToImage',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresourceLayers',+-- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'cmdCopyBufferToImage', -- 'cmdCopyImageToBuffer' data BufferImageCopy = BufferImageCopy   { -- | @bufferOffset@ is the offset in bytes from the start of the buffer@@ -8812,8 +8725,7 @@     bufferRowLength :: Word32   , -- No documentation found for Nested "VkBufferImageCopy" "bufferImageHeight"     bufferImageHeight :: Word32-  , -- | @imageSubresource@ is a-    -- 'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' used to specify the+  , -- | @imageSubresource@ is a 'ImageSubresourceLayers' used to specify the     -- specific image subresources of the image used for the source or     -- destination image data.     imageSubresource :: ImageSubresourceLayers@@ -8933,23 +8845,21 @@ -- -- == Valid Usage (Implicit) ----- -   @srcSubresource@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structure+-- -   @srcSubresource@ /must/ be a valid 'ImageSubresourceLayers'+--     structure ----- -   @dstSubresource@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structure+-- -   @dstSubresource@ /must/ be a valid 'ImageSubresourceLayers'+--     structure -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent3D',--- 'Vulkan.Core10.SharedTypes.ImageSubresourceLayers',--- 'Vulkan.Core10.SharedTypes.Offset3D', 'cmdResolveImage'+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresourceLayers',+-- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'cmdResolveImage' data ImageResolve = ImageResolve-  { -- | @srcSubresource@ and @dstSubresource@ are-    -- 'Vulkan.Core10.SharedTypes.ImageSubresourceLayers' structures specifying-    -- the image subresources of the images used for the source and destination-    -- image data, respectively. Resolve of depth\/stencil images is not-    -- supported.+  { -- | @srcSubresource@ and @dstSubresource@ are 'ImageSubresourceLayers'+    -- structures specifying the image subresources of the images used for the+    -- source and destination image data, respectively. Resolve of+    -- depth\/stencil images is not supported.     srcSubresource :: ImageSubresourceLayers   , -- | @srcOffset@ and @dstOffset@ select the initial @x@, @y@, and @z@ offsets     -- in texels of the sub-regions of the source and destination image data.@@ -9280,22 +9190,21 @@ --     handle -- -- -   If @clearValueCount@ is not @0@, @pClearValues@ /must/ be a valid---     pointer to an array of @clearValueCount@---     'Vulkan.Core10.SharedTypes.ClearValue' unions+--     pointer to an array of @clearValueCount@ 'ClearValue' unions -- -- -   Both of @framebuffer@, and @renderPass@ /must/ have been created, --     allocated, or retrieved from the same 'Vulkan.Core10.Handles.Device' -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.ClearValue',--- 'Vulkan.Core10.Handles.Framebuffer', 'Rect2D',+-- 'ClearValue', 'Vulkan.Core10.Handles.Framebuffer',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Core10.Handles.RenderPass', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'cmdBeginRenderPass', -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.cmdBeginRenderPass2', -- 'Vulkan.Extensions.VK_KHR_create_renderpass2.cmdBeginRenderPass2KHR' data RenderPassBeginInfo (es :: [Type]) = RenderPassBeginInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @renderPass@ is the render pass to begin an instance of.     renderPass :: RenderPass@@ -9306,8 +9215,8 @@     -- instance, and is described in more detail below.     renderArea :: Rect2D   , -- | @pClearValues@ is a pointer to an array of @clearValueCount@-    -- 'Vulkan.Core10.SharedTypes.ClearValue' structures that contains clear-    -- values for each attachment, if the attachment uses a @loadOp@ value of+    -- 'ClearValue' structures that contains clear values for each attachment,+    -- if the attachment uses a @loadOp@ value of     -- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_CLEAR' or if     -- the attachment has a depth\/stencil format and uses a @stencilLoadOp@     -- value of@@ -9372,6 +9281,66 @@            mempty  +-- | VkClearDepthStencilValue - Structure specifying a clear depth stencil+-- value+--+-- == Valid Usage+--+-- -   Unless the @VK_EXT_depth_range_unrestricted@ extension is enabled+--     @depth@ /must/ be between @0.0@ and @1.0@, inclusive+--+-- = See Also+--+-- 'ClearValue', 'cmdClearDepthStencilImage'+data ClearDepthStencilValue = ClearDepthStencilValue+  { -- | @depth@ is the clear value for the depth aspect of the depth\/stencil+    -- attachment. It is a floating-point value which is automatically+    -- converted to the attachment’s format.+    depth :: Float+  , -- | @stencil@ is the clear value for the stencil aspect of the+    -- depth\/stencil attachment. It is a 32-bit integer value which is+    -- converted to the attachment’s format by taking the appropriate number of+    -- LSBs.+    stencil :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (ClearDepthStencilValue)+#endif+deriving instance Show ClearDepthStencilValue++instance ToCStruct ClearDepthStencilValue where+  withCStruct x f = allocaBytesAligned 8 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p ClearDepthStencilValue{..} f = do+    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (depth))+    poke ((p `plusPtr` 4 :: Ptr Word32)) (stencil)+    f+  cStructSize = 8+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (zero))+    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)+    f++instance FromCStruct ClearDepthStencilValue where+  peekCStruct p = do+    depth <- peek @CFloat ((p `plusPtr` 0 :: Ptr CFloat))+    stencil <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))+    pure $ ClearDepthStencilValue+             ((\(CFloat a) -> a) depth) stencil++instance Storable ClearDepthStencilValue where+  sizeOf ~_ = 8+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero ClearDepthStencilValue where+  zero = ClearDepthStencilValue+           zero+           zero++ -- | VkClearAttachment - Structure specifying a clear attachment -- -- = Description@@ -9403,8 +9372,7 @@ -- -   @aspectMask@ /must/ not include --     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index @i@ ----- -   @clearValue@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ClearValue' union+-- -   @clearValue@ /must/ be a valid 'ClearValue' union -- -- == Valid Usage (Implicit) --@@ -9415,7 +9383,7 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.ClearValue',+-- 'ClearValue', -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags', -- 'cmdClearAttachments' data ClearAttachment = ClearAttachment@@ -9460,4 +9428,67 @@            zero            zero            zero+++data ClearColorValue+  = Float32 ((Float, Float, Float, Float))+  | Int32 ((Int32, Int32, Int32, Int32))+  | Uint32 ((Word32, Word32, Word32, Word32))+  deriving (Show)++instance ToCStruct ClearColorValue where+  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct :: Ptr ClearColorValue -> ClearColorValue -> IO a -> IO a+  pokeCStruct p = (. const) . runContT .  \case+    Float32 v -> lift $ do+      let pFloat32 = lowerArrayPtr (castPtr @_ @(FixedArray 4 CFloat) p)+      case (v) of+        (e0, e1, e2, e3) -> do+          poke (pFloat32 :: Ptr CFloat) (CFloat (e0))+          poke (pFloat32 `plusPtr` 4 :: Ptr CFloat) (CFloat (e1))+          poke (pFloat32 `plusPtr` 8 :: Ptr CFloat) (CFloat (e2))+          poke (pFloat32 `plusPtr` 12 :: Ptr CFloat) (CFloat (e3))+    Int32 v -> lift $ do+      let pInt32 = lowerArrayPtr (castPtr @_ @(FixedArray 4 Int32) p)+      case (v) of+        (e0, e1, e2, e3) -> do+          poke (pInt32 :: Ptr Int32) (e0)+          poke (pInt32 `plusPtr` 4 :: Ptr Int32) (e1)+          poke (pInt32 `plusPtr` 8 :: Ptr Int32) (e2)+          poke (pInt32 `plusPtr` 12 :: Ptr Int32) (e3)+    Uint32 v -> lift $ do+      let pUint32 = lowerArrayPtr (castPtr @_ @(FixedArray 4 Word32) p)+      case (v) of+        (e0, e1, e2, e3) -> do+          poke (pUint32 :: Ptr Word32) (e0)+          poke (pUint32 `plusPtr` 4 :: Ptr Word32) (e1)+          poke (pUint32 `plusPtr` 8 :: Ptr Word32) (e2)+          poke (pUint32 `plusPtr` 12 :: Ptr Word32) (e3)+  pokeZeroCStruct :: Ptr ClearColorValue -> IO b -> IO b+  pokeZeroCStruct _ f = f+  cStructSize = 16+  cStructAlignment = 4++instance Zero ClearColorValue where+  zero = Float32 (zero, zero, zero, zero)+++data ClearValue+  = Color ClearColorValue+  | DepthStencil ClearDepthStencilValue+  deriving (Show)++instance ToCStruct ClearValue where+  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct :: Ptr ClearValue -> ClearValue -> IO a -> IO a+  pokeCStruct p = (. const) . runContT .  \case+    Color v -> ContT $ pokeCStruct (castPtr @_ @ClearColorValue p) (v) . ($ ())+    DepthStencil v -> ContT $ pokeCStruct (castPtr @_ @ClearDepthStencilValue p) (v) . ($ ())+  pokeZeroCStruct :: Ptr ClearValue -> IO b -> IO b+  pokeZeroCStruct _ f = f+  cStructSize = 16+  cStructAlignment = 4++instance Zero ClearValue where+  zero = Color zero 
src/Vulkan/Core10/CommandBufferBuilding.hs-boot view
@@ -2,13 +2,14 @@ module Vulkan.Core10.CommandBufferBuilding  ( BufferCopy                                             , BufferImageCopy                                             , ClearAttachment+                                            , ClearDepthStencilValue                                             , ClearRect                                             , ImageBlit                                             , ImageCopy                                             , ImageResolve-                                            , Rect2D+                                            , ImageSubresourceLayers                                             , RenderPassBeginInfo-                                            , Viewport+                                            , ClearColorValue                                             ) where  import Data.Kind (Type)@@ -39,6 +40,14 @@ instance Show ClearAttachment  +data ClearDepthStencilValue++instance ToCStruct ClearDepthStencilValue+instance Show ClearDepthStencilValue++instance FromCStruct ClearDepthStencilValue++ data ClearRect  instance ToCStruct ClearRect@@ -71,12 +80,12 @@ instance FromCStruct ImageResolve  -data Rect2D+data ImageSubresourceLayers -instance ToCStruct Rect2D-instance Show Rect2D+instance ToCStruct ImageSubresourceLayers+instance Show ImageSubresourceLayers -instance FromCStruct Rect2D+instance FromCStruct ImageSubresourceLayers   type role RenderPassBeginInfo nominal@@ -86,10 +95,5 @@ instance Show (Chain es) => Show (RenderPassBeginInfo es)  -data Viewport--instance ToCStruct Viewport-instance Show Viewport--instance FromCStruct Viewport+data ClearColorValue 
src/Vulkan/Core10/CommandPool.hs view
@@ -4,6 +4,11 @@                                   , destroyCommandPool                                   , resetCommandPool                                   , CommandPoolCreateInfo(..)+                                  , CommandPool(..)+                                  , CommandPoolCreateFlagBits(..)+                                  , CommandPoolCreateFlags+                                  , CommandPoolResetFlagBits(..)+                                  , CommandPoolResetFlags                                   ) where  import Control.Exception.Base (bracket)@@ -57,6 +62,11 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (CommandPool(..))+import Vulkan.Core10.Enums.CommandPoolCreateFlagBits (CommandPoolCreateFlagBits(..))+import Vulkan.Core10.Enums.CommandPoolCreateFlagBits (CommandPoolCreateFlags)+import Vulkan.Core10.Enums.CommandPoolResetFlagBits (CommandPoolResetFlagBits(..))+import Vulkan.Core10.Enums.CommandPoolResetFlagBits (CommandPoolResetFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe
src/Vulkan/Core10/DescriptorSet.hs view
@@ -19,6 +19,15 @@                                     , DescriptorPoolSize(..)                                     , DescriptorPoolCreateInfo(..)                                     , DescriptorSetAllocateInfo(..)+                                    , DescriptorSet(..)+                                    , DescriptorSetLayout(..)+                                    , DescriptorPool(..)+                                    , DescriptorPoolResetFlags(..)+                                    , DescriptorType(..)+                                    , DescriptorPoolCreateFlagBits(..)+                                    , DescriptorPoolCreateFlags+                                    , DescriptorSetLayoutCreateFlagBits(..)+                                    , DescriptorSetLayoutCreateFlags                                     ) where  import Control.Exception.Base (bracket)@@ -88,7 +97,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkFreeDescriptorSets)) import Vulkan.Dynamic (DeviceCmds(pVkResetDescriptorPool)) import Vulkan.Dynamic (DeviceCmds(pVkUpdateDescriptorSets))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss)@@ -119,6 +128,15 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (DescriptorPool(..))+import Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits (DescriptorPoolCreateFlagBits(..))+import Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits (DescriptorPoolCreateFlags)+import Vulkan.Core10.Enums.DescriptorPoolResetFlags (DescriptorPoolResetFlags(..))+import Vulkan.Core10.Handles (DescriptorSet(..))+import Vulkan.Core10.Handles (DescriptorSetLayout(..))+import Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits (DescriptorSetLayoutCreateFlagBits(..))+import Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits (DescriptorSetLayoutCreateFlags)+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -873,8 +891,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.BaseType.DeviceSize',--- 'WriteDescriptorSet'+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'WriteDescriptorSet' data DescriptorBufferInfo = DescriptorBufferInfo   { -- | @buffer@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE' or the buffer     -- resource.@@ -1404,7 +1422,7 @@ -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR', -- 'updateDescriptorSets' data WriteDescriptorSet (es :: [Type]) = WriteDescriptorSet-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @dstSet@ is the destination descriptor set to update.     dstSet :: DescriptorSet@@ -1996,7 +2014,7 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.getDescriptorSetLayoutSupport', -- 'Vulkan.Extensions.VK_KHR_maintenance3.getDescriptorSetLayoutSupportKHR' data DescriptorSetLayoutCreateInfo (es :: [Type]) = DescriptorSetLayoutCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits'@@ -2210,7 +2228,7 @@ -- 'DescriptorPoolSize', 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createDescriptorPool' data DescriptorPoolCreateInfo (es :: [Type]) = DescriptorPoolCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlagBits'@@ -2330,7 +2348,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'allocateDescriptorSets' data DescriptorSetAllocateInfo (es :: [Type]) = DescriptorSetAllocateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @descriptorPool@ is the pool which the sets will be allocated from.     descriptorPool :: DescriptorPool
src/Vulkan/Core10/Device.hs view
@@ -4,6 +4,10 @@                              , destroyDevice                              , DeviceQueueCreateInfo(..)                              , DeviceCreateInfo(..)+                             , Device(..)+                             , DeviceCreateFlags(..)+                             , DeviceQueueCreateFlagBits(..)+                             , DeviceQueueCreateFlags                              ) where  import Control.Exception.Base (bracket)@@ -61,6 +65,7 @@ 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)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (DevicePrivateDataCreateInfoEXT) import Vulkan.Core10.Enums.DeviceQueueCreateFlagBits (DeviceQueueCreateFlags) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_global_priority (DeviceQueueGlobalPriorityCreateInfoEXT) import Vulkan.Core10.Handles (Device_T)@@ -152,6 +157,10 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_CREATE_INFO)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (Device(..))+import Vulkan.Core10.Enums.DeviceCreateFlags (DeviceCreateFlags(..))+import Vulkan.Core10.Enums.DeviceQueueCreateFlagBits (DeviceQueueCreateFlagBits(..))+import Vulkan.Core10.Enums.DeviceQueueCreateFlagBits (DeviceQueueCreateFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -412,7 +421,7 @@ -- 'Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data DeviceQueueCreateInfo (es :: [Type]) = DeviceQueueCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask indicating behavior of the queue.     flags :: DeviceQueueCreateFlags@@ -546,26 +555,26 @@ --     and the @pNext@ chain includes a --     'Vulkan.Core12.PhysicalDeviceVulkan12Features' structure, then --     'Vulkan.Core12.PhysicalDeviceVulkan12Features'::@drawIndirectCount@---     /must/ be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If @ppEnabledExtensions@ contains --     @\"VK_KHR_sampler_mirror_clamp_to_edge\"@ and the @pNext@ chain --     includes a 'Vulkan.Core12.PhysicalDeviceVulkan12Features' structure, --     then --     'Vulkan.Core12.PhysicalDeviceVulkan12Features'::@samplerMirrorClampToEdge@---     /must/ be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If @ppEnabledExtensions@ contains @\"VK_EXT_descriptor_indexing\"@ --     and the @pNext@ chain includes a --     'Vulkan.Core12.PhysicalDeviceVulkan12Features' structure, then --     'Vulkan.Core12.PhysicalDeviceVulkan12Features'::@descriptorIndexing@---     /must/ be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If @ppEnabledExtensions@ contains @\"VK_EXT_sampler_filter_minmax\"@ --     and the @pNext@ chain includes a --     'Vulkan.Core12.PhysicalDeviceVulkan12Features' structure, then --     'Vulkan.Core12.PhysicalDeviceVulkan12Features'::@samplerFilterMinmax@---     /must/ be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If @ppEnabledExtensions@ contains --     @\"VK_EXT_shader_viewport_index_layer\"@ and the @pNext@ chain@@ -574,7 +583,7 @@ --     'Vulkan.Core12.PhysicalDeviceVulkan12Features'::@shaderOutputViewportIndex@ --     and --     'Vulkan.Core12.PhysicalDeviceVulkan12Features'::@shaderOutputLayer@---     /must/ both be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ both be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- == Valid Usage (Implicit) --@@ -587,6 +596,7 @@ --     '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',+--     'Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT', --     'Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures', --     'Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures', --     'Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT',@@ -653,7 +663,8 @@ --     'Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT' -- -- -   The @sType@ value of each struct in the @pNext@ chain /must/ be---     unique+--     unique, with the exception of structures of type+--     'Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT' -- -- -   @flags@ /must/ be @0@ --@@ -682,7 +693,7 @@ -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createDevice' data DeviceCreateInfo (es :: [Type]) = DeviceCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: DeviceCreateFlags@@ -786,6 +797,7 @@     | Just Refl <- eqT @e @PhysicalDeviceMultiviewFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceVariablePointersFeatures = Just f     | Just Refl <- eqT @e @(PhysicalDeviceFeatures2 '[]) = Just f+    | Just Refl <- eqT @e @DevicePrivateDataCreateInfoEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = Just f     | otherwise = Nothing 
src/Vulkan/Core10/DeviceInitialization.hs view
@@ -23,6 +23,43 @@                                            , PhysicalDeviceFeatures(..)                                            , PhysicalDeviceSparseProperties(..)                                            , PhysicalDeviceLimits(..)+                                           , Instance(..)+                                           , PhysicalDevice(..)+                                           , AllocationCallbacks(..)+                                           , InstanceCreateFlags(..)+                                           , ImageType(..)+                                           , ImageTiling(..)+                                           , InternalAllocationType(..)+                                           , SystemAllocationScope(..)+                                           , PhysicalDeviceType(..)+                                           , Format(..)+                                           , StructureType(..)+                                           , QueueFlagBits(..)+                                           , QueueFlags+                                           , MemoryPropertyFlagBits(..)+                                           , MemoryPropertyFlags+                                           , MemoryHeapFlagBits(..)+                                           , MemoryHeapFlags+                                           , ImageUsageFlagBits(..)+                                           , ImageUsageFlags+                                           , ImageCreateFlagBits(..)+                                           , ImageCreateFlags+                                           , FormatFeatureFlagBits(..)+                                           , FormatFeatureFlags+                                           , SampleCountFlagBits(..)+                                           , SampleCountFlags+                                           , FN_vkInternalAllocationNotification+                                           , PFN_vkInternalAllocationNotification+                                           , FN_vkInternalFreeNotification+                                           , PFN_vkInternalFreeNotification+                                           , FN_vkReallocationFunction+                                           , PFN_vkReallocationFunction+                                           , FN_vkAllocationFunction+                                           , PFN_vkAllocationFunction+                                           , FN_vkFreeFunction+                                           , PFN_vkFreeFunction+                                           , FN_vkVoidFunction+                                           , PFN_vkVoidFunction                                            ) where  import Vulkan.CStruct.Utils (FixedArray)@@ -76,8 +113,8 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.Dynamic (getInstanceProcAddr') import Vulkan.Dynamic (initInstanceCmds)@@ -87,19 +124,19 @@ import Vulkan.CStruct.Utils (pokeFixedLengthNullTerminatedByteString) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct.Extends (Chain) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_report (DebugReportCallbackCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessengerCreateInfoEXT) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceProcAddr))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))-import Vulkan.Core10.SharedTypes (Extent3D)+import Vulkan.Core10.FundamentalTypes (Extent3D) import Vulkan.Core10.Enums.Format (Format) import Vulkan.Core10.Enums.Format (Format(..)) import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlags)@@ -160,6 +197,43 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_APPLICATION_INFO)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_INSTANCE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks(..))+import Vulkan.Core10.FuncPointers (FN_vkAllocationFunction)+import Vulkan.Core10.FuncPointers (FN_vkFreeFunction)+import Vulkan.Core10.FuncPointers (FN_vkInternalAllocationNotification)+import Vulkan.Core10.FuncPointers (FN_vkInternalFreeNotification)+import Vulkan.Core10.FuncPointers (FN_vkReallocationFunction)+import Vulkan.Core10.FuncPointers (FN_vkVoidFunction)+import Vulkan.Core10.Enums.Format (Format(..))+import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlagBits(..))+import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlags)+import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlagBits(..))+import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags)+import Vulkan.Core10.Enums.ImageTiling (ImageTiling(..))+import Vulkan.Core10.Enums.ImageType (ImageType(..))+import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlagBits(..))+import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags)+import Vulkan.Core10.Handles (Instance(..))+import Vulkan.Core10.Enums.InstanceCreateFlags (InstanceCreateFlags(..))+import Vulkan.Core10.Enums.InternalAllocationType (InternalAllocationType(..))+import Vulkan.Core10.Enums.MemoryHeapFlagBits (MemoryHeapFlagBits(..))+import Vulkan.Core10.Enums.MemoryHeapFlagBits (MemoryHeapFlags)+import Vulkan.Core10.Enums.MemoryPropertyFlagBits (MemoryPropertyFlagBits(..))+import Vulkan.Core10.Enums.MemoryPropertyFlagBits (MemoryPropertyFlags)+import Vulkan.Core10.FuncPointers (PFN_vkAllocationFunction)+import Vulkan.Core10.FuncPointers (PFN_vkFreeFunction)+import Vulkan.Core10.FuncPointers (PFN_vkInternalAllocationNotification)+import Vulkan.Core10.FuncPointers (PFN_vkInternalFreeNotification)+import Vulkan.Core10.FuncPointers (PFN_vkReallocationFunction)+import Vulkan.Core10.FuncPointers (PFN_vkVoidFunction)+import Vulkan.Core10.Handles (PhysicalDevice(..))+import Vulkan.Core10.Enums.PhysicalDeviceType (PhysicalDeviceType(..))+import Vulkan.Core10.Enums.QueueFlagBits (QueueFlagBits(..))+import Vulkan.Core10.Enums.QueueFlagBits (QueueFlags)+import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits(..))+import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlags)+import Vulkan.Core10.Enums.StructureType (StructureType(..))+import Vulkan.Core10.Enums.SystemAllocationScope (SystemAllocationScope(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -522,6 +596,8 @@ -- | invalid non-@NULL@   | *1                                                                      | undefined             | -- | instance             |                                                                         |                       | -- +----------------------+-------------------------------------------------------------------------+-----------------------++-- | @NULL@               | 'getInstanceProcAddr'                                                   | fp4                   |+-- +----------------------+-------------------------------------------------------------------------+-----------------------+ -- | @NULL@               | 'Vulkan.Core11.DeviceInitialization.enumerateInstanceVersion'           | fp                    | -- +----------------------+-------------------------------------------------------------------------+-----------------------+ -- | @NULL@               | 'Vulkan.Core10.ExtensionDiscovery.enumerateInstanceExtensionProperties' | fp                    |@@ -558,6 +634,10 @@ --     An “available device extension” is a device extension supported by --     any physical device enumerated by @instance@. --+-- [4]+--     Starting with Vulkan 1.2, 'getInstanceProcAddr' can resolve itself+--     with a @NULL@ instance pointer.+-- -- == Valid Usage (Implicit) -- -- -   If @instance@ is not @NULL@, @instance@ /must/ be a valid@@ -1281,7 +1361,7 @@ -- 'Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createInstance' data InstanceCreateInfo (es :: [Type]) = InstanceCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: InstanceCreateFlags@@ -1406,33 +1486,33 @@ --     and extent parameters of image transfer operations: -- --     -   The @x@, @y@, and @z@ members of a---         'Vulkan.Core10.SharedTypes.Offset3D' parameter /must/ always be---         zero.+--         'Vulkan.Core10.FundamentalTypes.Offset3D' parameter /must/+--         always be zero. -- --     -   The @width@, @height@, and @depth@ members of a---         'Vulkan.Core10.SharedTypes.Extent3D' parameter /must/ always---         match the width, height, and depth of the image subresource---         corresponding to the parameter, respectively.+--         'Vulkan.Core10.FundamentalTypes.Extent3D' parameter /must/+--         always match the width, height, and depth of the image+--         subresource corresponding to the parameter, respectively. -- -- -   (Ax, Ay, Az) where Ax, Ay, and Az are all integer powers of two. In --     this case the following restrictions apply to all image transfer --     operations: -----     -   @x@, @y@, and @z@ of a 'Vulkan.Core10.SharedTypes.Offset3D'+--     -   @x@, @y@, and @z@ of a 'Vulkan.Core10.FundamentalTypes.Offset3D' --         parameter /must/ be integer multiples of Ax, Ay, and Az, --         respectively. -----     -   @width@ of a 'Vulkan.Core10.SharedTypes.Extent3D' parameter+--     -   @width@ of a 'Vulkan.Core10.FundamentalTypes.Extent3D' parameter --         /must/ be an integer multiple of Ax, or else @x@ + @width@ --         /must/ equal the width of the image subresource corresponding to --         the parameter. -----     -   @height@ of a 'Vulkan.Core10.SharedTypes.Extent3D' parameter---         /must/ be an integer multiple of Ay, or else @y@ + @height@---         /must/ equal the height of the image subresource corresponding---         to the parameter.+--     -   @height@ of a 'Vulkan.Core10.FundamentalTypes.Extent3D'+--         parameter /must/ be an integer multiple of Ay, or else @y@ ++--         @height@ /must/ equal the height of the image subresource+--         corresponding to the parameter. -----     -   @depth@ of a 'Vulkan.Core10.SharedTypes.Extent3D' parameter+--     -   @depth@ of a 'Vulkan.Core10.FundamentalTypes.Extent3D' parameter --         /must/ be an integer multiple of Az, or else @z@ + @depth@ --         /must/ equal the depth of the image subresource corresponding to --         the parameter.@@ -1460,7 +1540,7 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent3D',+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2', -- 'Vulkan.Core10.Enums.QueueFlagBits.QueueFlags', -- 'getPhysicalDeviceQueueFamilyProperties'@@ -1906,7 +1986,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlags', -- 'PhysicalDeviceMemoryProperties' data MemoryHeap = MemoryHeap@@ -2123,8 +2203,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',--- 'Vulkan.Core10.SharedTypes.Extent3D',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalImageFormatPropertiesNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2', -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlags',@@ -2194,7 +2274,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Device.DeviceCreateInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2', -- 'getPhysicalDeviceFeatures'@@ -2425,7 +2505,7 @@     -- and multisample interpolation are supported. If this feature is not     -- enabled, the @sampleShadingEnable@ member of the     -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo' structure-    -- /must/ be set to 'Vulkan.Core10.BaseType.FALSE' and the+    -- /must/ be set to 'Vulkan.Core10.FundamentalTypes.FALSE' and the     -- @minSampleShading@ member is ignored. This also specifies whether shader     -- modules /can/ declare the @SampleRateShading@ capability.     sampleRateShading :: Bool@@ -2441,8 +2521,8 @@   , -- | @logicOp@ specifies whether logic operations are supported. If this     -- feature is not enabled, the @logicOpEnable@ member of the     -- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo' structure-    -- /must/ be set to 'Vulkan.Core10.BaseType.FALSE', and the @logicOp@-    -- member is ignored.+    -- /must/ be set to 'Vulkan.Core10.FundamentalTypes.FALSE', and the+    -- @logicOp@ member is ignored.     logicOp :: Bool   , -- | @multiDrawIndirect@ specifies whether multiple draw indirect is     -- supported. If this feature is not enabled, the @drawCount@ parameter to@@ -2466,9 +2546,9 @@   , -- | @depthClamp@ specifies whether depth clamping is supported. If this     -- feature is not enabled, the @depthClampEnable@ member of the     -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo' structure-    -- /must/ be set to 'Vulkan.Core10.BaseType.FALSE'. Otherwise, setting-    -- @depthClampEnable@ to 'Vulkan.Core10.BaseType.TRUE' will enable depth-    -- clamping.+    -- /must/ be set to 'Vulkan.Core10.FundamentalTypes.FALSE'. Otherwise,+    -- setting @depthClampEnable@ to 'Vulkan.Core10.FundamentalTypes.TRUE' will+    -- enable depth clamping.     depthClamp :: Bool   , -- | @depthBiasClamp@ specifies whether depth bias clamping is supported. If     -- this feature is not enabled, the @depthBiasClamp@ member of the@@ -2488,9 +2568,10 @@   , -- | @depthBounds@ specifies whether depth bounds tests are supported. If     -- this feature is not enabled, the @depthBoundsTestEnable@ member of the     -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' structure-    -- /must/ be set to 'Vulkan.Core10.BaseType.FALSE'. When-    -- @depthBoundsTestEnable@ is set to 'Vulkan.Core10.BaseType.FALSE', the-    -- @minDepthBounds@ and @maxDepthBounds@ members of the+    -- /must/ be set to 'Vulkan.Core10.FundamentalTypes.FALSE'. When+    -- @depthBoundsTestEnable@ is set to+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', the @minDepthBounds@ and+    -- @maxDepthBounds@ members of the     -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' structure     -- are ignored.     depthBounds :: Bool@@ -2519,9 +2600,9 @@     -- floating-point colors. If this feature is not enabled, then the     -- @alphaToOneEnable@ member of the     -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo' structure-    -- /must/ be set to 'Vulkan.Core10.BaseType.FALSE'. Otherwise setting-    -- @alphaToOneEnable@ to 'Vulkan.Core10.BaseType.TRUE' will enable-    -- alpha-to-one behavior.+    -- /must/ be set to 'Vulkan.Core10.FundamentalTypes.FALSE'. Otherwise+    -- setting @alphaToOneEnable@ to 'Vulkan.Core10.FundamentalTypes.TRUE' will+    -- enable alpha-to-one behavior.     alphaToOne :: Bool   , -- | @multiViewport@ specifies whether more than one viewport is supported.     -- If this feature is not enabled:@@ -2550,7 +2631,7 @@   , -- | @samplerAnisotropy@ specifies whether anisotropic filtering is     -- supported. If this feature is not enabled, the @anisotropyEnable@ member     -- of the 'Vulkan.Core10.Sampler.SamplerCreateInfo' structure /must/ be-    -- 'Vulkan.Core10.BaseType.FALSE'.+    -- 'Vulkan.Core10.FundamentalTypes.FALSE'.     samplerAnisotropy :: Bool   , -- | @textureCompressionETC2@ specifies whether all of the ETC2 and EAC     -- compressed texture formats are supported. If this feature is enabled,@@ -3045,11 +3126,11 @@     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-noattachments subpass which uses no attachments>     -- /must/ have the same value for     -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'::@rasterizationSamples@.-    -- If set to 'Vulkan.Core10.BaseType.TRUE', the implementation supports-    -- variable multisample rates in a subpass which uses no attachments. If-    -- set to 'Vulkan.Core10.BaseType.FALSE', then all pipelines bound in such-    -- a subpass /must/ have the same multisample rate. This has no effect in-    -- situations where a subpass uses any attachments.+    -- If set to 'Vulkan.Core10.FundamentalTypes.TRUE', the implementation+    -- supports variable multisample rates in a subpass which uses no+    -- attachments. If set to 'Vulkan.Core10.FundamentalTypes.FALSE', then all+    -- pipelines bound in such a subpass /must/ have the same multisample rate.+    -- This has no effect in situations where a subpass uses any attachments.     variableMultisampleRate :: Bool   , -- | @inheritedQueries@ specifies whether a secondary command buffer /may/ be     -- executed while a query is active.@@ -3310,11 +3391,11 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'PhysicalDeviceProperties'+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'PhysicalDeviceProperties' data PhysicalDeviceSparseProperties = PhysicalDeviceSparseProperties-  { -- | @residencyStandard2DBlockShape@ is 'Vulkan.Core10.BaseType.TRUE' if the-    -- physical device will access all single-sample 2D sparse resources using-    -- the standard sparse image block shapes (based on image format), as+  { -- | @residencyStandard2DBlockShape@ is 'Vulkan.Core10.FundamentalTypes.TRUE'+    -- if the physical device will access all single-sample 2D sparse resources+    -- using the standard sparse image block shapes (based on image format), as     -- described in the     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#sparsememory-sparseblockshapessingle Standard Sparse Image Block Shapes (Single Sample)>     -- table. If this property is not supported the value returned in the@@ -3324,9 +3405,9 @@     -- standard sparse image block dimensions listed in the table.     residencyStandard2DBlockShape :: Bool   , -- | @residencyStandard2DMultisampleBlockShape@ is-    -- 'Vulkan.Core10.BaseType.TRUE' if the physical device will access all-    -- multisample 2D sparse resources using the standard sparse image block-    -- shapes (based on image format), as described in the+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the physical device will access+    -- all multisample 2D sparse resources using the standard sparse image+    -- block shapes (based on image format), as described in the     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#sparsememory-sparseblockshapesmsaa Standard Sparse Image Block Shapes (MSAA)>     -- table. If this property is not supported, the value returned in the     -- @imageGranularity@ member of the@@ -3334,9 +3415,10 @@     -- structure for multisample 2D images is not /required/ to match the     -- standard sparse image block dimensions listed in the table.     residencyStandard2DMultisampleBlockShape :: Bool-  , -- | @residencyStandard3DBlockShape@ is 'Vulkan.Core10.BaseType.TRUE' if the-    -- physical device will access all 3D sparse resources using the standard-    -- sparse image block shapes (based on image format), as described in the+  , -- | @residencyStandard3DBlockShape@ is 'Vulkan.Core10.FundamentalTypes.TRUE'+    -- if the physical device will access all 3D sparse resources using the+    -- standard sparse image block shapes (based on image format), as described+    -- in the     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#sparsememory-sparseblockshapessingle Standard Sparse Image Block Shapes (Single Sample)>     -- table. If this property is not supported, the value returned in the     -- @imageGranularity@ member of the@@ -3344,8 +3426,8 @@     -- structure for 3D images is not /required/ to match the standard sparse     -- image block dimensions listed in the table.     residencyStandard3DBlockShape :: Bool-  , -- | @residencyAlignedMipSize@ is 'Vulkan.Core10.BaseType.TRUE' if images-    -- with mip level dimensions that are not integer multiples of the+  , -- | @residencyAlignedMipSize@ is 'Vulkan.Core10.FundamentalTypes.TRUE' if+    -- images with mip level dimensions that are not integer multiples of the     -- corresponding dimensions of the sparse image block /may/ be placed in     -- the mip tail. If this property is not reported, only mip levels with     -- dimensions smaller than the @imageGranularity@ member of the@@ -3361,8 +3443,8 @@     residencyAlignedMipSize :: Bool   , -- | @residencyNonResidentStrict@ specifies whether the physical device /can/     -- consistently access non-resident regions of a resource. If this property-    -- is 'Vulkan.Core10.BaseType.TRUE', access to non-resident regions of-    -- resources will be guaranteed to return values as if the resource were+    -- is 'Vulkan.Core10.FundamentalTypes.TRUE', access to non-resident regions+    -- of resources will be guaranteed to return values as if the resource were     -- populated with 0; writes to non-resident regions will be discarded.     residencyNonResidentStrict :: Bool   }@@ -3438,8 +3520,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.BaseType.DeviceSize',--- 'PhysicalDeviceProperties',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'PhysicalDeviceProperties', -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlags' data PhysicalDeviceLimits = PhysicalDeviceLimits   { -- | @maxImageDimension1D@ is the maximum dimension (@width@) supported for@@ -4108,12 +4190,12 @@     -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT'.     storageImageSampleCounts :: SampleCountFlags   , -- | @maxSampleMaskWords@ is the maximum number of array elements of a-    -- variable decorated with the 'Vulkan.Core10.BaseType.SampleMask' built-in-    -- decoration.+    -- variable decorated with the 'Vulkan.Core10.FundamentalTypes.SampleMask'+    -- built-in decoration.     maxSampleMaskWords :: Word32   , -- | @timestampComputeAndGraphics@ specifies support for timestamps on all     -- graphics and compute queues. If this limit is set to-    -- 'Vulkan.Core10.BaseType.TRUE', all queues that advertise the+    -- 'Vulkan.Core10.FundamentalTypes.TRUE', all queues that advertise the     -- 'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or     -- 'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT' in the     -- 'QueueFamilyProperties'::@queueFlags@ support@@ -4170,17 +4252,18 @@     lineWidthGranularity :: Float   , -- | @strictLines@ specifies whether lines are rasterized according to the     -- preferred method of rasterization. If set to-    -- 'Vulkan.Core10.BaseType.FALSE', lines /may/ be rasterized under a-    -- relaxed set of rules. If set to 'Vulkan.Core10.BaseType.TRUE', lines are-    -- rasterized as per the strict definition. See+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', lines /may/ be rasterized under+    -- a relaxed set of rules. If set to 'Vulkan.Core10.FundamentalTypes.TRUE',+    -- lines are rasterized as per the strict definition. See     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-lines-basic Basic Line Segment Rasterization>.     strictLines :: Bool   , -- | @standardSampleLocations@ specifies whether rasterization uses the     -- standard sample locations as documented in     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-multisampling Multisampling>.-    -- If set to 'Vulkan.Core10.BaseType.TRUE', the implementation uses the-    -- documented sample locations. If set to 'Vulkan.Core10.BaseType.FALSE',-    -- the implementation /may/ use different sample locations.+    -- If set to 'Vulkan.Core10.FundamentalTypes.TRUE', the implementation uses+    -- the documented sample locations. If set to+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', the implementation /may/ use+    -- different sample locations.     standardSampleLocations :: Bool   , -- | @optimalBufferCopyOffsetAlignment@ is the optimal buffer offset     -- alignment in bytes for
src/Vulkan/Core10/Enums/AccessFlagBits.hs view
@@ -45,7 +45,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkAccessFlagBits - Bitmask specifying memory access types that will -- participate in a memory dependency@@ -151,32 +151,6 @@ -- +----------------------------------------------------+-------------------------------------------------------------------------------------------------+ -- -- Supported access types------ If a memory object does not have the--- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_HOST_COHERENT_BIT'--- property, then 'Vulkan.Core10.Memory.flushMappedMemoryRanges' /must/ be--- called in order to guarantee that writes to the memory object from the--- host are made available to the host domain, where they /can/ be further--- made available to the device domain via a domain operation. Similarly,--- 'Vulkan.Core10.Memory.invalidateMappedMemoryRanges' /must/ be called to--- guarantee that writes which are available to the host domain are made--- visible to host operations.------ If the memory object does have the--- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_HOST_COHERENT_BIT'--- property flag, writes to the memory object from the host are--- automatically made available to the host domain. Similarly, writes made--- available to the host domain are automatically made visible to the host.------ Note------ The 'Vulkan.Core10.Queue.queueSubmit' command--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-submission-host-writes automatically performs a domain operation from host to device>--- for all writes performed before the command executes, so in most cases--- an explicit memory barrier is not needed for this case. In the few--- circumstances where a submit does not occur between the host write and--- the device read access, writes /can/ be made available by using an--- explicit memory barrier. -- -- = See Also --
src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkAttachmentDescriptionFlagBits - Bitmask specifying additional -- properties of an attachment
src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs view
@@ -22,7 +22,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkBufferCreateFlagBits - Bitmask specifying additional parameters of a -- buffer
src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs view
@@ -31,7 +31,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkBufferUsageFlagBits - Bitmask specifying allowed usage of a buffer --
src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkBufferViewCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs view
@@ -21,7 +21,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkColorComponentFlagBits - Bitmask controlling which components are -- written to the framebuffer
src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkCommandBufferResetFlagBits - Bitmask controlling behavior of a command -- buffer reset
src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs view
@@ -20,7 +20,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkCommandBufferUsageFlagBits - Bitmask specifying usage behavior for -- command buffer
src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs view
@@ -20,7 +20,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a -- command pool
src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkCommandPoolResetFlagBits - Bitmask controlling behavior of a command -- pool reset
src/Vulkan/Core10/Enums/CullModeFlagBits.hs view
@@ -21,7 +21,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkCullModeFlagBits - Bitmask controlling triangle culling --
src/Vulkan/Core10/Enums/DependencyFlagBits.hs view
@@ -20,7 +20,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDependencyFlagBits - Bitmask specifying how execution and memory -- dependencies are formed
src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs view
@@ -19,7 +19,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDescriptorPoolCreateFlagBits - Bitmask specifying certain supported -- operations on a descriptor pool
src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDescriptorPoolResetFlags - Reserved for future use --
src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs view
@@ -19,7 +19,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDescriptorSetLayoutCreateFlagBits - Bitmask specifying descriptor set -- layout properties
src/Vulkan/Core10/Enums/DeviceCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDeviceCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue --
src/Vulkan/Core10/Enums/DynamicState.hs view
@@ -70,7 +70,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetDepthBias' before any draws -- are performed with @depthBiasEnable@ in -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo' set to--- 'Vulkan.Core10.BaseType.TRUE'.+-- 'Vulkan.Core10.FundamentalTypes.TRUE'. pattern DYNAMIC_STATE_DEPTH_BIAS = DynamicState 3 -- | 'DYNAMIC_STATE_BLEND_CONSTANTS' specifies that the @blendConstants@ -- state in 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo' will@@ -78,8 +78,8 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetBlendConstants' before any -- draws are performed with a pipeline state with -- 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState' member--- @blendEnable@ set to 'Vulkan.Core10.BaseType.TRUE' and any of the blend--- functions using a constant blend color.+-- @blendEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE' and any of+-- the blend functions using a constant blend color. pattern DYNAMIC_STATE_BLEND_CONSTANTS = DynamicState 4 -- | 'DYNAMIC_STATE_DEPTH_BOUNDS' specifies that the @minDepthBounds@ and -- @maxDepthBounds@ states of@@ -88,7 +88,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetDepthBounds' before any draws -- are performed with a pipeline state with -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' member--- @depthBoundsTestEnable@ set to 'Vulkan.Core10.BaseType.TRUE'.+-- @depthBoundsTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE'. pattern DYNAMIC_STATE_DEPTH_BOUNDS = DynamicState 5 -- | 'DYNAMIC_STATE_STENCIL_COMPARE_MASK' specifies that the @compareMask@ -- state in 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'@@ -97,7 +97,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetStencilCompareMask' before -- any draws are performed with a pipeline state with -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' member--- @stencilTestEnable@ set to 'Vulkan.Core10.BaseType.TRUE'+-- @stencilTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE' pattern DYNAMIC_STATE_STENCIL_COMPARE_MASK = DynamicState 6 -- | 'DYNAMIC_STATE_STENCIL_WRITE_MASK' specifies that the @writeMask@ state -- in 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' for both@@ -105,7 +105,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetStencilWriteMask' before any -- draws are performed with a pipeline state with -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' member--- @stencilTestEnable@ set to 'Vulkan.Core10.BaseType.TRUE'+-- @stencilTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE' pattern DYNAMIC_STATE_STENCIL_WRITE_MASK = DynamicState 7 -- | 'DYNAMIC_STATE_STENCIL_REFERENCE' specifies that the @reference@ state -- in 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' for both@@ -113,7 +113,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetStencilReference' before any -- draws are performed with a pipeline state with -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' member--- @stencilTestEnable@ set to 'Vulkan.Core10.BaseType.TRUE'+-- @stencilTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE' pattern DYNAMIC_STATE_STENCIL_REFERENCE = DynamicState 8 -- | 'DYNAMIC_STATE_LINE_STIPPLE_EXT' specifies that the @lineStippleFactor@ -- and @lineStipplePattern@ state in@@ -122,7 +122,8 @@ -- 'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT' -- before any draws are performed with a pipeline state with -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'--- member @stippledLineEnable@ set to 'Vulkan.Core10.BaseType.TRUE'.+-- member @stippledLineEnable@ set to+-- 'Vulkan.Core10.FundamentalTypes.TRUE'. pattern DYNAMIC_STATE_LINE_STIPPLE_EXT = DynamicState 1000259000 -- | 'DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV' specifies that the -- @pExclusiveScissors@ state in@@ -175,7 +176,8 @@ -- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.cmdSetViewportWScalingNV' -- before any draws are performed with a pipeline state with -- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV'--- member @viewportScalingEnable@ set to 'Vulkan.Core10.BaseType.TRUE'+-- member @viewportScalingEnable@ set to+-- 'Vulkan.Core10.FundamentalTypes.TRUE' pattern DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = DynamicState 1000087000 {-# complete DYNAMIC_STATE_VIEWPORT,              DYNAMIC_STATE_SCISSOR,
src/Vulkan/Core10/Enums/EventCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkEventCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkFenceCreateFlagBits - Bitmask specifying initial state and behavior of -- a fence
src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs view
@@ -43,7 +43,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkFormatFeatureFlagBits - Bitmask specifying features supported by a -- buffer@@ -192,8 +192,8 @@ --     specifies that reconstruction /can/ be forcibly made explicit by --     setting --     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'::@forceExplicitReconstruction@---     to 'Vulkan.Core10.BaseType.TRUE'. If the format being queried---     supports+--     to 'Vulkan.Core10.FundamentalTypes.TRUE'. If the format being+--     queried supports --     'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT' --     it /must/ also support --     'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT'.@@ -349,7 +349,8 @@ -- | 'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT' -- specifies that reconstruction /can/ be forcibly made explicit by setting -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'::@forceExplicitReconstruction@--- to 'Vulkan.Core10.BaseType.TRUE'. If the format being queried supports+-- to 'Vulkan.Core10.FundamentalTypes.TRUE'. If the format being queried+-- supports -- 'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT' -- it /must/ also support -- 'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT'.
src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkFramebufferCreateFlagBits - Bitmask specifying framebuffer properties --
src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs view
@@ -28,7 +28,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkImageAspectFlagBits - Bitmask specifying which aspects of an image are -- included in a view
src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs view
@@ -32,7 +32,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an -- image
src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs view
@@ -27,7 +27,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkImageUsageFlagBits - Bitmask specifying intended usage of an image --
src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkImageViewCreateFlagBits - Bitmask specifying additional parameters of -- an image view
src/Vulkan/Core10/Enums/InstanceCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkInstanceCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs view
@@ -19,7 +19,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkMemoryHeapFlagBits - Bitmask specifying attribute flags for a heap --
src/Vulkan/Core10/Enums/MemoryMapFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkMemoryMapFlags - Reserved for future use --
src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs view
@@ -25,7 +25,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkMemoryPropertyFlagBits - Bitmask specifying properties for a memory -- type
src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineCacheCreateFlagBits - Bitmask specifying the behavior of the -- pipeline cache
src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineColorBlendStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs view
@@ -35,7 +35,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineCreateFlagBits - Bitmask controlling how a pipeline is created --
src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineDepthStencilStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineDynamicStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineInputAssemblyStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineLayoutCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineLayoutCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineMultisampleStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineRasterizationStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineShaderStageCreateFlagBits.hs view
@@ -19,7 +19,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineShaderStageCreateFlagBits - Bitmask controlling how a pipeline -- shader stage is created
src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs view
@@ -43,32 +43,10 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineStageFlagBits - Bitmask specifying pipeline stages ----- = Description------ Note------ An execution dependency with only 'PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT' in--- the destination stage mask will only prevent that stage from executing--- in subsequently submitted commands. As this stage does not perform any--- actual execution, this is not observable - in effect, it does not delay--- processing of subsequent commands. Similarly an execution dependency--- with only 'PIPELINE_STAGE_TOP_OF_PIPE_BIT' in the source stage mask will--- effectively not wait for any prior commands to complete.------ When defining a memory dependency, using only--- 'PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT' or 'PIPELINE_STAGE_TOP_OF_PIPE_BIT'--- would never make any accesses available and\/or visible because these--- stages do not access memory.------ 'PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT' and 'PIPELINE_STAGE_TOP_OF_PIPE_BIT'--- are useful for accomplishing layout transitions and queue ownership--- operations when the required execution dependency is satisfied by other--- means - for example, semaphore operations between queues.--- -- = See Also -- -- 'Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV',@@ -78,8 +56,11 @@ newtype PipelineStageFlagBits = PipelineStageFlagBits Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) --- | 'PIPELINE_STAGE_TOP_OF_PIPE_BIT' specifies the stage of the pipeline--- where any commands are initially received by the queue.+-- | 'PIPELINE_STAGE_TOP_OF_PIPE_BIT' is equivalent to+-- 'PIPELINE_STAGE_ALL_COMMANDS_BIT' with+-- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags' set to @0@ when+-- specified in the second synchronization scope, but specifies no stages+-- in the first scope. pattern PIPELINE_STAGE_TOP_OF_PIPE_BIT = PipelineStageFlagBits 0x00000001 -- | 'PIPELINE_STAGE_DRAW_INDIRECT_BIT' specifies the stage of the pipeline -- where Draw\/DispatchIndirect data structures are consumed. This stage@@ -141,8 +122,11 @@ --     with the exception of --     'Vulkan.Core10.CommandBufferBuilding.cmdClearAttachments' pattern PIPELINE_STAGE_TRANSFER_BIT = PipelineStageFlagBits 0x00001000--- | 'PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT' specifies the final stage in the--- pipeline where operations generated by all commands complete execution.+-- | 'PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT' is equivalent to+-- 'PIPELINE_STAGE_ALL_COMMANDS_BIT' with+-- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags' set to @0@ when+-- specified in the first synchronization scope, but specifies no stages in+-- the second scope. pattern PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = PipelineStageFlagBits 0x00002000 -- | 'PIPELINE_STAGE_HOST_BIT' specifies a pseudo-stage indicating execution -- on the host of reads\/writes of device memory. This stage is not invoked@@ -151,8 +135,6 @@ -- | 'PIPELINE_STAGE_ALL_GRAPHICS_BIT' specifies the execution of all -- graphics pipeline stages, and is equivalent to the logical OR of: ----- -   'PIPELINE_STAGE_TOP_OF_PIPE_BIT'--- -- -   'PIPELINE_STAGE_DRAW_INDIRECT_BIT' -- -- -   'PIPELINE_STAGE_TASK_SHADER_BIT_NV'@@ -177,8 +159,6 @@ -- -- -   'PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT' ----- -   'PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT'--- -- -   'PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT' -- -- -   'PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'@@ -187,9 +167,8 @@ -- -- -   'PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT' pattern PIPELINE_STAGE_ALL_GRAPHICS_BIT = PipelineStageFlagBits 0x00008000--- | 'PIPELINE_STAGE_ALL_COMMANDS_BIT' is equivalent to the logical OR of--- every other pipeline stage flag that is supported on the queue it is--- used with.+-- | 'PIPELINE_STAGE_ALL_COMMANDS_BIT' specifies all commands supported on+-- the queue it is used with. pattern PIPELINE_STAGE_ALL_COMMANDS_BIT = PipelineStageFlagBits 0x00010000 -- | 'PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV' specifies the stage of the -- pipeline where device-side preprocessing for generated commands via@@ -212,10 +191,7 @@ pattern PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = PipelineStageFlagBits 0x00400000 -- | 'PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' specifies the -- execution of--- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureKHR',--- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdCopyAccelerationStructureKHR',--- and--- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdWriteAccelerationStructuresPropertiesKHR'.+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure acceleration structure commands>. pattern PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = PipelineStageFlagBits 0x02000000 -- | 'PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR' specifies the execution of -- the ray tracing shader stages.
src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineTessellationStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineVertexInputStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPipelineViewportStateCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/QueryControlFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkQueryControlFlagBits - Bitmask specifying constraints on a query --
src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs view
@@ -28,7 +28,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkQueryPipelineStatisticFlagBits - Bitmask specifying queried pipeline -- statistics
src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkQueryPoolCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/QueryResultFlagBits.hs view
@@ -21,7 +21,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkQueryResultFlagBits - Bitmask specifying how and when query results -- are returned
src/Vulkan/Core10/Enums/QueueFlagBits.hs view
@@ -22,7 +22,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkQueueFlagBits - Bitmask specifying capabilities of queues in a queue -- family
src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkRenderPassCreateFlagBits - Bitmask specifying additional properties of -- a renderpass
src/Vulkan/Core10/Enums/Result.hs view
@@ -59,7 +59,7 @@ -- -- = Description ----- If a command returns a run time error, unless otherwise specified any+-- If a command returns a runtime error, unless otherwise specified any -- output parameters will have undefined contents, except that if the -- output parameter is a structure with @sType@ and @pNext@ fields, those -- fields will be unmodified. Any structures chained from @pNext@ will also@@ -85,9 +85,9 @@ -- issue, and the implementor should be contacted for support. -- -- Performance-critical commands generally do not have return codes. If a--- run time error occurs in such commands, the implementation will defer+-- runtime error occurs in such commands, the implementation will defer -- reporting the error until a specified point. For commands that record--- into command buffers (@vkCmd*@) run time errors are reported by+-- into command buffers (@vkCmd*@) runtime errors are reported by -- 'Vulkan.Core10.CommandBuffer.endCommandBuffer'. -- -- = See Also
src/Vulkan/Core10/Enums/SampleCountFlagBits.hs view
@@ -24,7 +24,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSampleCountFlagBits - Bitmask specifying sample counts supported for -- an image used for storage operations
src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs view
@@ -19,7 +19,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSamplerCreateFlagBits - Bitmask specifying additional parameters of -- sampler
src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSemaphoreCreateFlags - Reserved for future use --
src/Vulkan/Core10/Enums/ShaderModuleCreateFlagBits.hs view
@@ -16,7 +16,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- No documentation found for TopLevel "VkShaderModuleCreateFlagBits" newtype ShaderModuleCreateFlagBits = ShaderModuleCreateFlagBits Flags
src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs view
@@ -33,7 +33,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkShaderStageFlagBits - Bitmask specifying a pipeline stage --
src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs view
@@ -20,7 +20,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSparseImageFormatFlagBits - Bitmask specifying additional information -- about a sparse image resource
src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSparseMemoryBindFlagBits - Bitmask specifying usage of a sparse memory -- binding operation
src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs view
@@ -20,7 +20,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkStencilFaceFlagBits - Bitmask specifying sets of stencil state for -- which to update the compare mask
src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs view
@@ -21,7 +21,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSubpassDescriptionFlagBits - Bitmask specifying usage of a subpass --
src/Vulkan/Core10/Event.hs view
@@ -6,6 +6,8 @@                             , setEvent                             , resetEvent                             , EventCreateInfo(..)+                            , Event(..)+                            , EventCreateFlags(..)                             ) where  import Control.Exception.Base (bracket)@@ -58,6 +60,8 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_EVENT_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (Event(..))+import Vulkan.Core10.Enums.EventCreateFlags (EventCreateFlags(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe
src/Vulkan/Core10/Fence.hs view
@@ -7,6 +7,9 @@                             , waitForFences                             , waitForFencesSafe                             , FenceCreateInfo(..)+                            , Fence(..)+                            , FenceCreateFlagBits(..)+                            , FenceCreateFlags                             ) where  import Control.Exception.Base (bracket)@@ -41,12 +44,12 @@ import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..)) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..))@@ -80,6 +83,9 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_FENCE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (Fence(..))+import Vulkan.Core10.Enums.FenceCreateFlagBits (FenceCreateFlagBits(..))+import Vulkan.Core10.Enums.FenceCreateFlagBits (FenceCreateFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -410,9 +416,10 @@                           -> -- | @pFences@ is a pointer to an array of @fenceCount@ fence handles.                              ("fences" ::: Vector Fence)                           -> -- | @waitAll@ is the condition that /must/ be satisfied to successfully-                             -- unblock the wait. If @waitAll@ is 'Vulkan.Core10.BaseType.TRUE', then-                             -- the condition is that all fences in @pFences@ are signaled. Otherwise,-                             -- the condition is that at least one fence in @pFences@ is signaled.+                             -- unblock the wait. If @waitAll@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+                             -- then the condition is that all fences in @pFences@ are signaled.+                             -- Otherwise, the condition is that at least one fence in @pFences@ is+                             -- signaled.                              ("waitAll" ::: Bool)                           -> -- | @timeout@ is the timeout period in units of nanoseconds. @timeout@ is                              -- adjusted to the closest value allowed by the implementation-dependent@@ -496,7 +503,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.Handles.Device',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'Vulkan.Core10.Handles.Device', -- 'Vulkan.Core10.Handles.Fence' waitForFences :: forall io                . (MonadIO io)@@ -505,9 +512,10 @@               -> -- | @pFences@ is a pointer to an array of @fenceCount@ fence handles.                  ("fences" ::: Vector Fence)               -> -- | @waitAll@ is the condition that /must/ be satisfied to successfully-                 -- unblock the wait. If @waitAll@ is 'Vulkan.Core10.BaseType.TRUE', then-                 -- the condition is that all fences in @pFences@ are signaled. Otherwise,-                 -- the condition is that at least one fence in @pFences@ is signaled.+                 -- unblock the wait. If @waitAll@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+                 -- then the condition is that all fences in @pFences@ are signaled.+                 -- Otherwise, the condition is that at least one fence in @pFences@ is+                 -- signaled.                  ("waitAll" ::: Bool)               -> -- | @timeout@ is the timeout period in units of nanoseconds. @timeout@ is                  -- adjusted to the closest value allowed by the implementation-dependent@@ -525,9 +533,10 @@                   -> -- | @pFences@ is a pointer to an array of @fenceCount@ fence handles.                      ("fences" ::: Vector Fence)                   -> -- | @waitAll@ is the condition that /must/ be satisfied to successfully-                     -- unblock the wait. If @waitAll@ is 'Vulkan.Core10.BaseType.TRUE', then-                     -- the condition is that all fences in @pFences@ are signaled. Otherwise,-                     -- the condition is that at least one fence in @pFences@ is signaled.+                     -- unblock the wait. If @waitAll@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+                     -- then the condition is that all fences in @pFences@ are signaled.+                     -- Otherwise, the condition is that at least one fence in @pFences@ is+                     -- signaled.                      ("waitAll" ::: Bool)                   -> -- | @timeout@ is the timeout period in units of nanoseconds. @timeout@ is                      -- adjusted to the closest value allowed by the implementation-dependent@@ -564,7 +573,7 @@ -- 'Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createFence' data FenceCreateInfo (es :: [Type]) = FenceCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlagBits' specifying
src/Vulkan/Core10/FuncPointers.hs view
@@ -108,7 +108,7 @@ -- -- If @pfnAllocation@ returns @NULL@, and if the implementation is unable -- to continue correct processing of the current command without the--- requested allocation, it /must/ treat this as a run-time error, and+-- requested allocation, it /must/ treat this as a runtime error, and -- generate 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY' at the -- appropriate time for the command in which the condition was detected, as -- described in
+ src/Vulkan/Core10/FundamentalTypes.hs view
@@ -0,0 +1,666 @@+{-# language CPP #-}+module Vulkan.Core10.FundamentalTypes  ( boolToBool32+                                       , bool32ToBool+                                       , Offset2D(..)+                                       , Offset3D(..)+                                       , Extent2D(..)+                                       , Extent3D(..)+                                       , Rect2D(..)+                                       , Bool32( FALSE+                                               , TRUE+                                               , ..+                                               )+                                       , SampleMask+                                       , Flags+                                       , DeviceSize+                                       , DeviceAddress+                                       , StructureType(..)+                                       , Result(..)+                                       ) where++import Data.Bool (bool)+import Foreign.Marshal.Alloc (allocaBytesAligned)+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 Text.ParserCombinators.ReadPrec ((+++))+import Text.ParserCombinators.ReadPrec (prec)+import Text.ParserCombinators.ReadPrec (step)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+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 (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 Control.Monad.Trans.Cont (ContT(..))+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero)+import Vulkan.Zero (Zero(..))+import Vulkan.Core10.Enums.Result (Result(..))+import Vulkan.Core10.Enums.StructureType (StructureType(..))+boolToBool32 :: Bool -> Bool32+boolToBool32 = bool FALSE TRUE++bool32ToBool :: Bool32 -> Bool+bool32ToBool = \case+  FALSE -> False+  TRUE  -> True+++-- | VkOffset2D - Structure specifying a two-dimensional offset+--+-- = See Also+--+-- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR',+-- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR'+data Offset2D = Offset2D+  { -- | @x@ is the x offset.+    x :: Int32+  , -- | @y@ is the y offset.+    y :: Int32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (Offset2D)+#endif+deriving instance Show Offset2D++instance ToCStruct Offset2D where+  withCStruct x f = allocaBytesAligned 8 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p Offset2D{..} f = do+    poke ((p `plusPtr` 0 :: Ptr Int32)) (x)+    poke ((p `plusPtr` 4 :: Ptr Int32)) (y)+    f+  cStructSize = 8+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr Int32)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Int32)) (zero)+    f++instance FromCStruct Offset2D where+  peekCStruct p = do+    x <- peek @Int32 ((p `plusPtr` 0 :: Ptr Int32))+    y <- peek @Int32 ((p `plusPtr` 4 :: Ptr Int32))+    pure $ Offset2D+             x y++instance Storable Offset2D where+  sizeOf ~_ = 8+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero Offset2D where+  zero = Offset2D+           zero+           zero+++-- | VkOffset3D - Structure specifying a three-dimensional offset+--+-- = See Also+--+-- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',+-- 'Vulkan.Core10.CommandBufferBuilding.ImageBlit',+-- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy',+-- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind'+data Offset3D = Offset3D+  { -- | @x@ is the x offset.+    x :: Int32+  , -- | @y@ is the y offset.+    y :: Int32+  , -- | @z@ is the z offset.+    z :: Int32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (Offset3D)+#endif+deriving instance Show Offset3D++instance ToCStruct Offset3D where+  withCStruct x f = allocaBytesAligned 12 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p Offset3D{..} f = do+    poke ((p `plusPtr` 0 :: Ptr Int32)) (x)+    poke ((p `plusPtr` 4 :: Ptr Int32)) (y)+    poke ((p `plusPtr` 8 :: Ptr Int32)) (z)+    f+  cStructSize = 12+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr Int32)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Int32)) (zero)+    poke ((p `plusPtr` 8 :: Ptr Int32)) (zero)+    f++instance FromCStruct Offset3D where+  peekCStruct p = do+    x <- peek @Int32 ((p `plusPtr` 0 :: Ptr Int32))+    y <- peek @Int32 ((p `plusPtr` 4 :: Ptr Int32))+    z <- peek @Int32 ((p `plusPtr` 8 :: Ptr Int32))+    pure $ Offset3D+             x y z++instance Storable Offset3D where+  sizeOf ~_ = 12+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero Offset3D where+  zero = Offset3D+           zero+           zero+           zero+++-- | VkExtent2D - Structure specifying a two-dimensional extent+--+-- = See Also+--+-- 'Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR',+-- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR',+-- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',+-- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR',+-- 'Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT',+-- 'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV',+-- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR',+-- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT',+-- 'Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR',+-- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',+-- 'Vulkan.Core10.Pass.getRenderAreaGranularity'+data Extent2D = Extent2D+  { -- | @width@ is the width of the extent.+    width :: Word32+  , -- | @height@ is the height of the extent.+    height :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (Extent2D)+#endif+deriving instance Show Extent2D++instance ToCStruct Extent2D where+  withCStruct x f = allocaBytesAligned 8 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p Extent2D{..} f = do+    poke ((p `plusPtr` 0 :: Ptr Word32)) (width)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (height)+    f+  cStructSize = 8+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)+    f++instance FromCStruct Extent2D where+  peekCStruct p = do+    width <- peek @Word32 ((p `plusPtr` 0 :: Ptr Word32))+    height <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))+    pure $ Extent2D+             width height++instance Storable Extent2D where+  sizeOf ~_ = 8+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero Extent2D where+  zero = Extent2D+           zero+           zero+++-- | VkExtent3D - Structure specifying a three-dimensional extent+--+-- = See Also+--+-- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',+-- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy',+-- 'Vulkan.Core10.Image.ImageCreateInfo',+-- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',+-- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve',+-- 'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind'+data Extent3D = Extent3D+  { -- | @width@ is the width of the extent.+    width :: Word32+  , -- | @height@ is the height of the extent.+    height :: Word32+  , -- | @depth@ is the depth of the extent.+    depth :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (Extent3D)+#endif+deriving instance Show Extent3D++instance ToCStruct Extent3D where+  withCStruct x f = allocaBytesAligned 12 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p Extent3D{..} f = do+    poke ((p `plusPtr` 0 :: Ptr Word32)) (width)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (height)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (depth)+    f+  cStructSize = 12+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)+    f++instance FromCStruct Extent3D where+  peekCStruct p = do+    width <- peek @Word32 ((p `plusPtr` 0 :: Ptr Word32))+    height <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))+    depth <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))+    pure $ Extent3D+             width height depth++instance Storable Extent3D where+  sizeOf ~_ = 12+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero Extent3D where+  zero = Extent3D+           zero+           zero+           zero+++-- | VkRect2D - Structure specifying a two-dimensional subregion+--+-- = See Also+--+-- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.ClearRect',+-- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo',+-- 'Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR',+-- 'Extent2D', 'Offset2D',+-- 'Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT',+-- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV',+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo',+-- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT',+-- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorNV',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdSetScissor',+-- 'Vulkan.Extensions.VK_KHR_swapchain.getPhysicalDevicePresentRectanglesKHR'+data Rect2D = Rect2D+  { -- | @offset@ is a 'Offset2D' specifying the rectangle offset.+    offset :: Offset2D+  , -- | @extent@ is a 'Extent2D' specifying the rectangle extent.+    extent :: Extent2D+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (Rect2D)+#endif+deriving instance Show Rect2D++instance ToCStruct Rect2D where+  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p Rect2D{..} f = evalContT $ do+    ContT $ pokeCStruct ((p `plusPtr` 0 :: Ptr Offset2D)) (offset) . ($ ())+    ContT $ pokeCStruct ((p `plusPtr` 8 :: Ptr Extent2D)) (extent) . ($ ())+    lift $ f+  cStructSize = 16+  cStructAlignment = 4+  pokeZeroCStruct p f = evalContT $ do+    ContT $ pokeCStruct ((p `plusPtr` 0 :: Ptr Offset2D)) (zero) . ($ ())+    ContT $ pokeCStruct ((p `plusPtr` 8 :: Ptr Extent2D)) (zero) . ($ ())+    lift $ f++instance FromCStruct Rect2D where+  peekCStruct p = do+    offset <- peekCStruct @Offset2D ((p `plusPtr` 0 :: Ptr Offset2D))+    extent <- peekCStruct @Extent2D ((p `plusPtr` 8 :: Ptr Extent2D))+    pure $ Rect2D+             offset extent++instance Zero Rect2D where+  zero = Rect2D+           zero+           zero+++-- | VkBool32 - Vulkan boolean type+--+-- = Description+--+-- 'TRUE' represents a boolean __True__ (integer 1) value, and 'FALSE' a+-- boolean __False__ (integer 0) value.+--+-- All values returned from a Vulkan implementation in a 'Bool32' will be+-- either 'TRUE' or 'FALSE'.+--+-- Applications /must/ not pass any other values than 'TRUE' or 'FALSE'+-- into a Vulkan implementation where a 'Bool32' is expected.+--+-- = See Also+--+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureBuildGeometryInfoKHR',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateGeometryTypeInfoKHR',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryInstancesDataKHR',+-- 'Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT',+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo',+-- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV',+-- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport',+-- 'Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD',+-- 'Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR',+-- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',+-- 'Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements',+-- 'Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL',+-- 'Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueDataINTEL',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures',+-- 'Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures',+-- 'Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT',+-- 'Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD',+-- 'Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT',+-- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',+-- 'Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties',+-- '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_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties',+-- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT',+-- 'Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties',+-- 'Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',+-- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT',+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',+-- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT',+-- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',+-- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',+-- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',+-- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR',+-- 'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT',+-- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR',+-- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT',+-- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures',+-- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.PhysicalDeviceRayTracingFeaturesKHR',+-- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT',+-- 'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures',+-- 'Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features',+-- 'Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR',+-- 'Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',+-- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',+-- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',+-- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',+-- 'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV',+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties',+-- 'Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties',+-- 'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures',+-- 'Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT',+-- 'Vulkan.Core12.PhysicalDeviceVulkan11Features',+-- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',+-- 'Vulkan.Core12.PhysicalDeviceVulkan12Features',+-- 'Vulkan.Core12.PhysicalDeviceVulkan12Properties',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures',+-- 'Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT',+-- 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState',+-- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo',+-- 'Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateInfoNV',+-- 'Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV',+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo',+-- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR',+-- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticValueKHR',+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo',+-- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo',+-- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV',+-- 'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT',+-- 'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV',+-- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV',+-- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo',+-- 'Vulkan.Core10.Sampler.SamplerCreateInfo',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT',+-- 'Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR',+-- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',+-- 'Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD',+-- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV',+-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR',+-- 'Vulkan.Extensions.VK_AMD_display_native_hdr.setLocalDimmingAMD',+-- 'Vulkan.Core10.Fence.waitForFences'+newtype Bool32 = Bool32 Int32+  deriving newtype (Eq, Ord, Storable, Zero)++-- No documentation found for Nested "VkBool32" "VK_FALSE"+pattern FALSE = Bool32 0+-- No documentation found for Nested "VkBool32" "VK_TRUE"+pattern TRUE = Bool32 1+{-# complete FALSE,+             TRUE :: Bool32 #-}++instance Show Bool32 where+  showsPrec p = \case+    FALSE -> showString "FALSE"+    TRUE -> showString "TRUE"+    Bool32 x -> showParen (p >= 11) (showString "Bool32 " . showsPrec 11 x)++instance Read Bool32 where+  readPrec = parens (choose [("FALSE", pure FALSE)+                            , ("TRUE", pure TRUE)]+                     ++++                     prec 10 (do+                       expectP (Ident "Bool32")+                       v <- step readPrec+                       pure (Bool32 v)))+++-- | VkSampleMask - Mask of sample coverage information+--+-- = See Also+--+-- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'+type SampleMask = Word32+++-- | VkFlags - Vulkan bitmasks+--+-- = Description+--+-- Bitmasks are passed to many commands and structures to compactly+-- represent options, but 'Flags' is not used directly in the API. Instead,+-- a @Vk*Flags@ type which is an alias of 'Flags', and whose name matches+-- the corresponding @Vk*FlagBits@ that are valid for that type, is used.+--+-- Any @Vk*Flags@ member or parameter used in the API as an input /must/ be+-- a valid combination of bit flags. A valid combination is either zero or+-- the bitwise OR of valid bit flags. A bit flag is valid if:+--+-- -   The bit flag is defined as part of the @Vk*FlagBits@ type, where the+--     bits type is obtained by taking the flag type and replacing the+--     trailing 'Flags' with @FlagBits@. For example, a flag value of type+--     'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags'+--     /must/ contain only bit flags defined by+--     'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits'.+--+-- -   The flag is allowed in the context in which it is being used. For+--     example, in some cases, certain bit flags or combinations of bit+--     flags are mutually exclusive.+--+-- Any @Vk*Flags@ member or parameter returned from a query command or+-- otherwise output from Vulkan to the application /may/ contain bit flags+-- undefined in its corresponding @Vk*FlagBits@ type. An application+-- /cannot/ rely on the state of these unspecified bits.+--+-- Only the low-order 31 bits (bit positions zero through 30) are available+-- for use as flag bits.+--+-- Note+--+-- This restriction is due to poorly defined behavior by C compilers given+-- a C enumerant value of @0x80000000@. In some cases adding this enumerant+-- value may increase the size of the underlying @Vk*FlagBits@ type,+-- breaking the ABI.+--+-- = See Also+--+-- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags'+type Flags = Word32+++-- | VkDeviceSize - Vulkan device memory size and offsets+--+-- = See Also+--+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryAabbsDataKHR',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryTrianglesDataKHR',+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.BindAccelerationStructureMemoryInfoKHR',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.BufferCopy',+-- 'Vulkan.Core10.Buffer.BufferCreateInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',+-- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier',+-- 'Vulkan.Core10.BufferView.BufferViewCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT',+-- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',+-- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',+-- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV',+-- 'Vulkan.Core10.Memory.MappedMemoryRange',+-- 'Vulkan.Core10.Memory.MemoryAllocateInfo',+-- 'Vulkan.Core10.DeviceInitialization.MemoryHeap',+-- 'Vulkan.Core10.MemoryManagement.MemoryRequirements',+-- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT',+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',+-- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT',+-- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.StridedBufferRegionKHR',+-- 'Vulkan.Core10.Image.SubresourceLayout',+-- 'Vulkan.Core10.MemoryManagement.bindBufferMemory',+-- 'Vulkan.Core10.MemoryManagement.bindImageMemory',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatchIndirect',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndexedIndirect',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCount',+-- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndexedIndirectCountAMD',+-- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCountKHR',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndirect',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdDrawIndirectByteCountEXT',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndirectCount',+-- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndirectCountAMD',+-- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndirectCountKHR',+-- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectCountNV',+-- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdTraceRaysIndirectKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer',+-- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',+-- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment',+-- 'Vulkan.Core10.Query.getQueryPoolResults',+-- 'Vulkan.Core10.Memory.mapMemory'+type DeviceSize = Word64+++-- | VkDeviceAddress - Vulkan device address type+--+-- = See Also+--+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV',+-- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressConstKHR',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressKHR',+-- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX'+type DeviceAddress = Word64+
+ src/Vulkan/Core10/FundamentalTypes.hs-boot view
@@ -0,0 +1,146 @@+{-# language CPP #-}+module Vulkan.Core10.FundamentalTypes  ( Extent2D+                                       , Extent3D+                                       , Offset2D+                                       , Offset3D+                                       , Rect2D+                                       , Bool32+                                       , DeviceAddress+                                       , DeviceSize+                                       ) where++import Data.Word (Word64)+import Data.Kind (Type)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+data Extent2D++instance ToCStruct Extent2D+instance Show Extent2D++instance FromCStruct Extent2D+++data Extent3D++instance ToCStruct Extent3D+instance Show Extent3D++instance FromCStruct Extent3D+++data Offset2D++instance ToCStruct Offset2D+instance Show Offset2D++instance FromCStruct Offset2D+++data Offset3D++instance ToCStruct Offset3D+instance Show Offset3D++instance FromCStruct Offset3D+++data Rect2D++instance ToCStruct Rect2D+instance Show Rect2D++instance FromCStruct Rect2D+++data Bool32+++-- | VkDeviceAddress - Vulkan device address type+--+-- = See Also+--+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV',+-- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressConstKHR',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.DeviceOrHostAddressKHR',+-- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX'+type DeviceAddress = Word64+++-- | VkDeviceSize - Vulkan device memory size and offsets+--+-- = See Also+--+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureCreateInfoKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryAabbsDataKHR',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.AccelerationStructureGeometryTrianglesDataKHR',+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.BindAccelerationStructureMemoryInfoKHR',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.BufferCopy',+-- 'Vulkan.Core10.Buffer.BufferCreateInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',+-- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier',+-- 'Vulkan.Core10.BufferView.BufferViewCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT',+-- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',+-- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',+-- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX',+-- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV',+-- 'Vulkan.Core10.Memory.MappedMemoryRange',+-- 'Vulkan.Core10.Memory.MemoryAllocateInfo',+-- 'Vulkan.Core10.DeviceInitialization.MemoryHeap',+-- 'Vulkan.Core10.MemoryManagement.MemoryRequirements',+-- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT',+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',+-- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',+-- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT',+-- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements',+-- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.StridedBufferRegionKHR',+-- 'Vulkan.Core10.Image.SubresourceLayout',+-- 'Vulkan.Core10.MemoryManagement.bindBufferMemory',+-- 'Vulkan.Core10.MemoryManagement.bindImageMemory',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatchIndirect',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndexedIndirect',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCount',+-- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndexedIndirectCountAMD',+-- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCountKHR',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndirect',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdDrawIndirectByteCountEXT',+-- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndirectCount',+-- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndirectCountAMD',+-- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndirectCountKHR',+-- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectCountNV',+-- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV',+-- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer',+-- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdTraceRaysIndirectKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer',+-- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',+-- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment',+-- 'Vulkan.Core10.Query.getQueryPoolResults',+-- 'Vulkan.Core10.Memory.mapMemory'+type DeviceSize = Word64+
src/Vulkan/Core10/Image.hs view
@@ -3,9 +3,10 @@                             , withImage                             , destroyImage                             , getImageSubresourceLayout-                            , ImageSubresource(..)                             , ImageCreateInfo(..)                             , SubresourceLayout(..)+                            , Image(..)+                            , ImageLayout(..)                             ) where  import Control.Exception.Base (bracket)@@ -53,12 +54,12 @@ import Vulkan.Dynamic (DeviceCmds(pVkCreateImage)) import Vulkan.Dynamic (DeviceCmds(pVkDestroyImage)) import Vulkan.Dynamic (DeviceCmds(pVkGetImageSubresourceLayout))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))-import Vulkan.Core10.SharedTypes (Extent3D)+import Vulkan.Core10.FundamentalTypes (Extent3D) import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (ExternalFormatANDROID) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory (ExternalMemoryImageCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_external_memory (ExternalMemoryImageCreateInfoNV)@@ -67,13 +68,13 @@ import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Image) import Vulkan.Core10.Handles (Image(..))-import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags) import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (ImageDrmFormatModifierExplicitCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (ImageDrmFormatModifierListCreateInfoEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_image_format_list (ImageFormatListCreateInfo) import Vulkan.Core10.Enums.ImageLayout (ImageLayout) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage (ImageStencilUsageCreateInfo)+import Vulkan.Core10.SparseResourceMemoryManagement (ImageSubresource) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (ImageSwapchainCreateInfoKHR) import Vulkan.Core10.Enums.ImageTiling (ImageTiling) import Vulkan.Core10.Enums.ImageType (ImageType)@@ -94,6 +95,8 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (Image(..))+import Vulkan.Core10.Enums.ImageLayout (ImageLayout(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -347,7 +350,8 @@ -- -   @image@ /must/ be a valid 'Vulkan.Core10.Handles.Image' handle -- -- -   @pSubresource@ /must/ be a valid pointer to a valid---     'ImageSubresource' structure+--     'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource'+--     structure -- -- -   @pLayout@ /must/ be a valid pointer to a 'SubresourceLayout' --     structure@@ -358,15 +362,17 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image',--- 'ImageSubresource', 'SubresourceLayout'+-- 'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource',+-- 'SubresourceLayout' getImageSubresourceLayout :: forall io                            . (MonadIO io)                           => -- | @device@ is the logical device that owns the image.                              Device                           -> -- | @image@ is the image whose layout is being queried.                              Image-                          -> -- | @pSubresource@ is a pointer to a 'ImageSubresource' structure selecting-                             -- a specific image for the image subresource.+                          -> -- | @pSubresource@ is a pointer to a+                             -- 'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource'+                             -- structure selecting a specific image for the image subresource.                              ImageSubresource                           -> io (SubresourceLayout) getImageSubresourceLayout device image subresource = liftIO . evalContT $ do@@ -381,72 +387,6 @@   pure $ (pLayout)  --- | VkImageSubresource - Structure specifying an image subresource------ == Valid Usage (Implicit)------ = See Also------ 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind',--- 'getImageSubresourceLayout'-data ImageSubresource = ImageSubresource-  { -- | @aspectMask@ is a-    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags' selecting the-    -- image /aspect/.-    ---    -- @aspectMask@ /must/ be a valid combination of-    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' values-    ---    -- @aspectMask@ /must/ not be @0@-    aspectMask :: ImageAspectFlags-  , -- | @mipLevel@ selects the mipmap level.-    mipLevel :: Word32-  , -- | @arrayLayer@ selects the array layer.-    arrayLayer :: Word32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (ImageSubresource)-#endif-deriving instance Show ImageSubresource--instance ToCStruct ImageSubresource where-  withCStruct x f = allocaBytesAligned 12 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p ImageSubresource{..} f = do-    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (aspectMask)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (mipLevel)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (arrayLayer)-    f-  cStructSize = 12-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (zero)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)-    f--instance FromCStruct ImageSubresource where-  peekCStruct p = do-    aspectMask <- peek @ImageAspectFlags ((p `plusPtr` 0 :: Ptr ImageAspectFlags))-    mipLevel <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))-    arrayLayer <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))-    pure $ ImageSubresource-             aspectMask mipLevel arrayLayer--instance Storable ImageSubresource where-  sizeOf ~_ = 12-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero ImageSubresource where-  zero = ImageSubresource-           zero-           zero-           zero-- -- | VkImageCreateInfo - Structure specifying the parameters of a newly -- created image object --@@ -1328,7 +1268,7 @@ -- \<\/section> -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent3D',+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', -- 'Vulkan.Core10.Enums.Format.Format', -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlags', -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',@@ -1339,7 +1279,7 @@ -- 'Vulkan.Core10.Enums.SharingMode.SharingMode', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createImage' data ImageCreateInfo (es :: [Type]) = ImageCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits' describing@@ -1352,8 +1292,8 @@   , -- | @format@ is a 'Vulkan.Core10.Enums.Format.Format' describing the format     -- and type of the texel blocks that will be contained in the image.     format :: Format-  , -- | @extent@ is a 'Vulkan.Core10.SharedTypes.Extent3D' describing the number-    -- of data elements in each dimension of the base level.+  , -- | @extent@ is a 'Vulkan.Core10.FundamentalTypes.Extent3D' describing the+    -- number of data elements in each dimension of the base level.     extent :: Extent3D   , -- | @mipLevels@ describes the number of levels of detail available for     -- minified sampling of the image.@@ -1524,8 +1464,9 @@ -- -- If the image has a /single-plane/ color format and its tiling is -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' , then the--- @aspectMask@ member of 'ImageSubresource' /must/ be--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'.+-- @aspectMask@ member of+-- 'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource' /must/+-- be 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'. -- -- If the image has a depth\/stencil format and its tiling is -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' , then@@ -1542,8 +1483,9 @@ -- If the image has a -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format> -- and its tiling is 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR'--- , then the @aspectMask@ member of 'ImageSubresource' /must/ be--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',+-- , then the @aspectMask@ member of+-- 'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource' /must/+-- be 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT', -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT', or -- (for 3-plane formats only) -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'.@@ -1555,9 +1497,10 @@ -- -- If the image’s tiling is -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',--- then the @aspectMask@ member of 'ImageSubresource' /must/ be one of--- @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@, where the maximum allowed--- plane index @i@ is defined by the+-- then the @aspectMask@ member of+-- 'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource' /must/+-- be one of @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@, where the maximum+-- allowed plane index @i@ is defined by the -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT'::@drmFormatModifierPlaneCount@ -- associated with the image’s 'ImageCreateInfo'::@format@ and -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#glossary-drm-format-modifier modifier>.@@ -1572,7 +1515,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT', -- 'getImageSubresourceLayout' data SubresourceLayout = SubresourceLayout
src/Vulkan/Core10/Image.hs-boot view
@@ -1,6 +1,5 @@ {-# language CPP #-} module Vulkan.Core10.Image  ( ImageCreateInfo-                            , ImageSubresource                             , SubresourceLayout                             ) where @@ -18,14 +17,6 @@ instance Show (Chain es) => Show (ImageCreateInfo es)  instance (Extendss ImageCreateInfo es, PeekChain es) => FromCStruct (ImageCreateInfo es)---data ImageSubresource--instance ToCStruct ImageSubresource-instance Show ImageSubresource--instance FromCStruct ImageSubresource   data SubresourceLayout
src/Vulkan/Core10/ImageView.hs view
@@ -3,7 +3,13 @@                                 , withImageView                                 , destroyImageView                                 , ComponentMapping(..)+                                , ImageSubresourceRange(..)                                 , ImageViewCreateInfo(..)+                                , ImageView(..)+                                , ImageViewType(..)+                                , ComponentSwizzle(..)+                                , ImageViewCreateFlagBits(..)+                                , ImageViewCreateFlags                                 ) where  import Control.Exception.Base (bracket)@@ -33,6 +39,7 @@ import GHC.IO.Exception (IOException(..)) import Foreign.Ptr (FunPtr) import Foreign.Ptr (Ptr)+import Data.Word (Word32) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.CStruct.Extends (forgetExtensions)@@ -52,7 +59,7 @@ import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Image)-import Vulkan.Core10.SharedTypes (ImageSubresourceRange)+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags) import Vulkan.Core10.Handles (ImageView) import Vulkan.Core10.Handles (ImageView(..)) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_astc_decode_mode (ImageViewASTCDecodeModeEXT)@@ -74,6 +81,11 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.ComponentSwizzle (ComponentSwizzle(..))+import Vulkan.Core10.Handles (ImageView(..))+import Vulkan.Core10.Enums.ImageViewCreateFlagBits (ImageViewCreateFlagBits(..))+import Vulkan.Core10.Enums.ImageViewCreateFlagBits (ImageViewCreateFlags)+import Vulkan.Core10.Enums.ImageViewType (ImageViewType(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -308,6 +320,189 @@            zero  +-- | VkImageSubresourceRange - Structure specifying an image subresource+-- range+--+-- = Description+--+-- The number of mipmap levels and array layers /must/ be a subset of the+-- image subresources in the image. If an application wants to use all mip+-- levels or layers in an image after the @baseMipLevel@ or+-- @baseArrayLayer@, it /can/ set @levelCount@ and @layerCount@ to the+-- special values 'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS' and+-- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' without knowing the+-- exact number of mip levels or layers.+--+-- For cube and cube array image views, the layers of the image view+-- starting at @baseArrayLayer@ correspond to faces in the order +X, -X,+-- +Y, -Y, +Z, -Z. For cube arrays, each set of six sequential layers is a+-- single cube, so the number of cube maps in a cube map array view is+-- /@layerCount@ \/ 6/, and image array layer (@baseArrayLayer@ + i) is+-- face index (i mod 6) of cube /i \/ 6/. If the number of layers in the+-- view, whether set explicitly in @layerCount@ or implied by+-- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', is not a multiple+-- of 6, the last cube map in the array /must/ not be accessed.+--+-- @aspectMask@ /must/ be only+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT',+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT' if+-- @format@ is a color, depth-only or stencil-only format, respectively,+-- except if @format@ is a+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>.+-- If using a depth\/stencil format with both depth and stencil components,+-- @aspectMask@ /must/ include at least one of+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' and+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT', and+-- /can/ include both.+--+-- When the 'ImageSubresourceRange' structure is used to select a subset of+-- the slices of a 3D image’s mip level in order to create a 2D or 2D array+-- image view of a 3D image created with+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT',+-- @baseArrayLayer@ and @layerCount@ specify the first slice index and the+-- number of slices to include in the created image view. Such an image+-- view /can/ be used as a framebuffer attachment that refers only to the+-- specified range of slices of the selected mip level. However, any layout+-- transitions performed on such an attachment view during a render pass+-- instance still apply to the entire subresource referenced which includes+-- all the slices of the selected mip level.+--+-- When using an image view of a depth\/stencil image to populate a+-- descriptor set (e.g. for sampling in the shader, or for use as an input+-- attachment), the @aspectMask@ /must/ only include one bit and selects+-- whether the image view is used for depth reads (i.e. using a+-- floating-point sampler or input attachment in the shader) or stencil+-- reads (i.e. using an unsigned integer sampler or input attachment in the+-- shader). When an image view of a depth\/stencil image is used as a+-- depth\/stencil framebuffer attachment, the @aspectMask@ is ignored and+-- both depth and stencil image subresources are used.+--+-- The 'ComponentMapping' @components@ member describes a remapping from+-- components of the image to components of the vector returned by shader+-- image instructions. This remapping /must/ be identity for storage image+-- descriptors, input attachment descriptors, framebuffer attachments, and+-- any 'Vulkan.Core10.Handles.ImageView' used with a combined image sampler+-- that enables+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>.+--+-- When creating a 'Vulkan.Core10.Handles.ImageView', if+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>+-- is enabled in the sampler, the @aspectMask@ of a @subresourceRange@ used+-- by the 'Vulkan.Core10.Handles.ImageView' /must/ be+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'.+--+-- When creating a 'Vulkan.Core10.Handles.ImageView', if sampler Y′CBCR+-- conversion is not enabled in the sampler and the image @format@ is+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>,+-- the image /must/ have been created with+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MUTABLE_FORMAT_BIT',+-- and the @aspectMask@ of the 'Vulkan.Core10.Handles.ImageView'’s+-- @subresourceRange@ /must/ be+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' or+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'.+--+-- == Valid Usage+--+-- -   If @levelCount@ is not+--     'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS', it /must/ be+--     greater than @0@+--+-- -   If @layerCount@ is not+--     'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', it /must/ be+--     greater than @0@+--+-- -   If @aspectMask@ includes+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT',+--     then it /must/ not include any of+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',+--     or+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'+--+-- -   @aspectMask@ /must/ not include+--     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index @i@+--+-- == Valid Usage (Implicit)+--+-- -   @aspectMask@ /must/ be a valid combination of+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' values+--+-- -   @aspectMask@ /must/ not be @0@+--+-- = See Also+--+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',+-- 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier', 'ImageViewCreateInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdClearColorImage',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdClearDepthStencilImage'+data ImageSubresourceRange = ImageSubresourceRange+  { -- | @aspectMask@ is a bitmask of+    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' specifying+    -- which aspect(s) of the image are included in the view.+    aspectMask :: ImageAspectFlags+  , -- | @baseMipLevel@ is the first mipmap level accessible to the view.+    baseMipLevel :: Word32+  , -- | @levelCount@ is the number of mipmap levels (starting from+    -- @baseMipLevel@) accessible to the view.+    levelCount :: Word32+  , -- | @baseArrayLayer@ is the first array layer accessible to the view.+    baseArrayLayer :: Word32+  , -- | @layerCount@ is the number of array layers (starting from+    -- @baseArrayLayer@) accessible to the view.+    layerCount :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (ImageSubresourceRange)+#endif+deriving instance Show ImageSubresourceRange++instance ToCStruct ImageSubresourceRange where+  withCStruct x f = allocaBytesAligned 20 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p ImageSubresourceRange{..} f = do+    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (aspectMask)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (baseMipLevel)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (levelCount)+    poke ((p `plusPtr` 12 :: Ptr Word32)) (baseArrayLayer)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (layerCount)+    f+  cStructSize = 20+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 12 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)+    f++instance FromCStruct ImageSubresourceRange where+  peekCStruct p = do+    aspectMask <- peek @ImageAspectFlags ((p `plusPtr` 0 :: Ptr ImageAspectFlags))+    baseMipLevel <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))+    levelCount <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))+    baseArrayLayer <- peek @Word32 ((p `plusPtr` 12 :: Ptr Word32))+    layerCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))+    pure $ ImageSubresourceRange+             aspectMask baseMipLevel levelCount baseArrayLayer layerCount++instance Storable ImageSubresourceRange where+  sizeOf ~_ = 20+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero ImageSubresourceRange where+  zero = ImageSubresourceRange+           zero+           zero+           zero+           zero+           zero++ -- | VkImageViewCreateInfo - Structure specifying parameters of a newly -- created image view --@@ -874,19 +1069,18 @@ -- -- -   @components@ /must/ be a valid 'ComponentMapping' structure ----- -   @subresourceRange@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange' structure+-- -   @subresourceRange@ /must/ be a valid 'ImageSubresourceRange'+--     structure -- -- = See Also -- -- 'ComponentMapping', 'Vulkan.Core10.Enums.Format.Format',--- 'Vulkan.Core10.Handles.Image',--- 'Vulkan.Core10.SharedTypes.ImageSubresourceRange',+-- 'Vulkan.Core10.Handles.Image', 'ImageSubresourceRange', -- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlags', -- 'Vulkan.Core10.Enums.ImageViewType.ImageViewType', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createImageView' data ImageViewCreateInfo (es :: [Type]) = ImageViewCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits'@@ -905,8 +1099,7 @@     -- components (or of depth or stencil components after they have been     -- converted into color components).     components :: ComponentMapping-  , -- | @subresourceRange@ is a-    -- 'Vulkan.Core10.SharedTypes.ImageSubresourceRange' selecting the set of+  , -- | @subresourceRange@ is a 'ImageSubresourceRange' selecting the set of     -- mipmap levels and array layers to be accessible to the view.     subresourceRange :: ImageSubresourceRange   }
src/Vulkan/Core10/ImageView.hs-boot view
@@ -1,5 +1,6 @@ {-# language CPP #-} module Vulkan.Core10.ImageView  ( ComponentMapping+                                , ImageSubresourceRange                                 , ImageViewCreateInfo                                 ) where @@ -16,6 +17,14 @@ instance Show ComponentMapping  instance FromCStruct ComponentMapping+++data ImageSubresourceRange++instance ToCStruct ImageSubresourceRange+instance Show ImageSubresourceRange++instance FromCStruct ImageSubresourceRange   type role ImageViewCreateInfo nominal
src/Vulkan/Core10/Memory.hs view
@@ -10,6 +10,7 @@                              , getDeviceMemoryCommitment                              , MemoryAllocateInfo(..)                              , MappedMemoryRange(..)+                             , MemoryMapFlags(..)                              ) where  import Control.Exception.Base (bracket)@@ -61,7 +62,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkUnmapMemory)) import Vulkan.Core10.Handles (DeviceMemory) import Vulkan.Core10.Handles (DeviceMemory(..))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory (ExportMemoryAllocateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_external_memory (ExportMemoryAllocateInfoNV)@@ -98,6 +99,7 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MAPPED_MEMORY_RANGE)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.MemoryMapFlags (MemoryMapFlags(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -455,7 +457,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags' mapMemory :: forall io            . (MonadIO io)@@ -717,7 +719,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' getDeviceMemoryCommitment :: forall io                            . (MonadIO io)                           => -- | @device@ is the logical device that owns the memory.@@ -954,8 +956,9 @@ --     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo' --     with @image@ that is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', --     the Android hardware buffer’s---     'Vulkan.Extensions.WSITypes.AHardwareBuffer'::@usage@ /must/ include---     at least one of @AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT@ or+--     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AHardwareBuffer'::@usage@+--     /must/ include at least one of+--     @AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER@ or --     @AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE@ -- -- -   If the parameters define an import operation, the external handle is@@ -983,7 +986,8 @@ --     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo' --     structure with @image@ that is not --     'Vulkan.Core10.APIConstants.NULL_HANDLE', and the Android hardware---     buffer’s 'Vulkan.Extensions.WSITypes.AHardwareBuffer'::@usage@+--     buffer’s+--     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AHardwareBuffer'::@usage@ --     includes @AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE@, the @image@ --     /must/ have a complete mipmap chain --@@ -992,9 +996,10 @@ --     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo' --     structure with @image@ that is not --     'Vulkan.Core10.APIConstants.NULL_HANDLE', and the Android hardware---     buffer’s 'Vulkan.Extensions.WSITypes.AHardwareBuffer'::@usage@ does---     not include @AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE@, the @image@---     /must/ have exactly one mipmap level+--     buffer’s+--     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AHardwareBuffer'::@usage@+--     does not include @AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE@, the+--     @image@ /must/ have exactly one mipmap level -- -- -   If the parameters define an import operation, the external handle is --     an Android hardware buffer, and the @pNext@ chain includes a@@ -1069,10 +1074,10 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'allocateMemory' data MemoryAllocateInfo (es :: [Type]) = MemoryAllocateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @allocationSize@ is the size of the allocation in bytes     allocationSize :: DeviceSize@@ -1184,7 +1189,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'flushMappedMemoryRanges', 'invalidateMappedMemoryRanges' data MappedMemoryRange = MappedMemoryRange
src/Vulkan/Core10/MemoryManagement.hs view
@@ -4,6 +4,7 @@                                        , getImageMemoryRequirements                                        , bindImageMemory                                        , MemoryRequirements(..)+                                       , DeviceMemory(..)                                        ) where  import Control.Monad (unless)@@ -40,7 +41,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkGetImageMemoryRequirements)) import Vulkan.Core10.Handles (DeviceMemory) import Vulkan.Core10.Handles (DeviceMemory(..))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -53,6 +54,7 @@ import Vulkan.Exception (VulkanException(..)) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (DeviceMemory(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -172,8 +174,8 @@ -- -- -   If @buffer@ was created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV'::@dedicatedAllocation@---     equal to 'Vulkan.Core10.BaseType.TRUE', @memory@ /must/ have been---     created with+--     equal to 'Vulkan.Core10.FundamentalTypes.TRUE', @memory@ /must/ have+--     been created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV'::@buffer@ --     equal to a buffer handle created with identical creation parameters --     to @buffer@ and @memoryOffset@ /must/ be zero@@ -245,7 +247,7 @@ -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Device', -- 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' bindBufferMemory :: forall io                   . (MonadIO io)                  => -- | @device@ is the logical device that owns the buffer and memory.@@ -421,8 +423,8 @@ -- -- -   If @image@ was created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV'::@dedicatedAllocation@---     equal to 'Vulkan.Core10.BaseType.TRUE', @memory@ /must/ have been---     created with+--     equal to 'Vulkan.Core10.FundamentalTypes.TRUE', @memory@ /must/ have+--     been created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV'::@image@ --     equal to an image handle created with identical creation parameters --     to @image@ and @memoryOffset@ /must/ be zero@@ -483,7 +485,8 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize', 'Vulkan.Core10.Handles.Image'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Handles.Image' bindImageMemory :: forall io                  . (MonadIO io)                 => -- | @device@ is the logical device that owns the image and memory.@@ -512,7 +515,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2', -- 'getBufferMemoryRequirements', 'getImageMemoryRequirements' data MemoryRequirements = MemoryRequirements
src/Vulkan/Core10/OtherTypes.hs view
@@ -33,7 +33,7 @@ import Vulkan.Core10.Enums.AccessFlagBits (AccessFlags) import Vulkan.Core10.Handles (Buffer) import Vulkan.CStruct.Extends (Chain)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))@@ -41,7 +41,7 @@ import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Image) import Vulkan.Core10.Enums.ImageLayout (ImageLayout)-import Vulkan.Core10.SharedTypes (ImageSubresourceRange)+import Vulkan.Core10.ImageView (ImageSubresourceRange) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.CStruct.Extends (PokeChain)@@ -247,7 +247,8 @@ -- = See Also -- -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags',--- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Core10.CommandBufferBuilding.cmdPipelineBarrier', -- 'Vulkan.Core10.CommandBufferBuilding.cmdWaitEvents'@@ -380,43 +381,10 @@ -- for the specified image subresource range, and the first access scope -- includes no access, as if @srcAccessMask@ was @0@. ----- If @oldLayout@ is not equal to @newLayout@, then the memory barrier--- defines an+-- @oldLayout@ and @newLayout@ define an -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition> -- for the specified image subresource range. ----- Layout transitions that are performed via image memory barriers execute--- in their entirety in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-submission-order submission order>,--- relative to other image layout transitions submitted to the same queue,--- including those performed by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass render passes>.--- In effect there is an implicit execution dependency from each such--- layout transition to all layout transitions previously submitted to the--- same queue.------ The image layout of each image subresource of a depth\/stencil image--- created with--- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT'--- is dependent on the last sample locations used to render to the image--- subresource as a depth\/stencil attachment, thus when the @image@ member--- of a 'ImageMemoryBarrier' is an image created with this flag the--- application /can/ include a--- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT'--- structure in the @pNext@ chain of 'ImageMemoryBarrier' to specify the--- sample locations to use during the image layout transition.------ If the--- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT'--- structure included in the @pNext@ chain of 'ImageMemoryBarrier' does not--- match the sample location state last used to render to the image--- subresource range specified by @subresourceRange@ or if no--- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT'--- structure is included in the @pNext@ chain of 'ImageMemoryBarrier', then--- the contents of the given image subresource range becomes undefined as--- if @oldLayout@ would equal--- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_UNDEFINED'.--- -- If @image@ has a multi-planar format and the image is /disjoint/, then -- including -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT' in the@@ -428,57 +396,6 @@ -- -- == Valid Usage ----- -   @oldLayout@ /must/ be---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_UNDEFINED' or the---     current layout of the image subresources affected by the barrier------ -   @newLayout@ /must/ not be---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_UNDEFINED' or---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_PREINITIALIZED'------ -   If @image@ was created with a sharing mode of---     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT', at least---     one of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ /must/ be---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED'------ -   If @image@ was created with a sharing mode of---     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT', and one---     of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ is---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', the other /must/---     be 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED' or a special---     queue family reserved for external memory transfers, as described in---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers>------ -   If @image@ was created with a sharing mode of---     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE' and---     @srcQueueFamilyIndex@ is---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED',---     @dstQueueFamilyIndex@ /must/ also be---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED'------ -   If @image@ was created with a sharing mode of---     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE' and---     @srcQueueFamilyIndex@ is not---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', it /must/ be a---     valid queue family or a special queue family reserved for external---     memory transfers, as described in---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers>------ -   If @image@ was created with a sharing mode of---     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE' and---     @dstQueueFamilyIndex@ is not---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', it /must/ be a---     valid queue family or a special queue family reserved for external---     memory transfers, as described in---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers>------ -   If @image@ was created with a sharing mode of---     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE', and---     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ are not---     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', at least one of---     them /must/ be the same as the family of the queue that will execute---     this barrier--- -- -   @subresourceRange.baseMipLevel@ /must/ be less than the @mipLevels@ --     specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was --     created@@ -499,99 +416,221 @@ --     /must/ be less than or equal to the @arrayLayers@ specified in --     'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was created ----- -   If @image@ has a depth\/stencil format with both depth and stencil---     and the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-separateDepthStencilLayouts separateDepthStencilLayouts>---     feature is enabled, then the @aspectMask@ member of---     @subresourceRange@ /must/ include either or both---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' and---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'------ -   If @image@ has a depth\/stencil format with both depth and stencil---     and the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-separateDepthStencilLayouts separateDepthStencilLayouts>---     feature is not enabled, then the @aspectMask@ member of---     @subresourceRange@ /must/ include both---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' and---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'------ -   If @image@ has a color format and either the format is single-plane---     or the image is not disjoint then the @aspectMask@ member of---     @subresourceRange@ /must/ only include---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'------ -   If @image@ has a multi-planar format and the image is /disjoint/,---     then the @aspectMask@ member of @subresourceRange@ /must/ include---     either at least one of---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',---     and---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT';---     or /must/ include---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'------ -   If @image@ has a multi-planar format with only two planes, then the---     @aspectMask@ member of @subresourceRange@ /must/ not include---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'+-- -   If @image@ is non-sparse then it /must/ be bound completely and+--     contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object ----- -   If either @oldLayout@ or @newLayout@ is+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL' --     then @image@ /must/ have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT' --     set ----- -   If either @oldLayout@ or @newLayout@ is+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL' --     then @image@ /must/ have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --     set ----- -   If either @oldLayout@ or @newLayout@ is+-- -   +--+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL' --     then @image@ /must/ have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --     set ----- -   If either @oldLayout@ or @newLayout@ is+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL'+--     then @image@ /must/ have been created with+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT' or+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'+--     set+--+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL'+--     then @image@ /must/ have been created with+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_SRC_BIT'+--     set+--+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL'+--     then @image@ /must/ have been created with+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'+--     set+--+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     @oldLayout@ /must/ be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_UNDEFINED' or the+--     current layout of the image subresources affected by the barrier+--+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     @newLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_UNDEFINED' or+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_PREINITIALIZED'+--+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL' --     then @image@ /must/ have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --     set ----- -   If either @oldLayout@ or @newLayout@ is+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL' --     then @image@ /must/ have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --     set ----- -   If either @oldLayout@ or @newLayout@ is---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL'---     then @image@ /must/ have been created with---     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT' or+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Extensions.VK_KHR_separate_depth_stencil_layouts.IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR'+--     then @image@ /must/ have been created with at least one of+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT',+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT', or --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT' --     set ----- -   If either @oldLayout@ or @newLayout@ is---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL'+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Extensions.VK_KHR_separate_depth_stencil_layouts.IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR' --     then @image@ /must/ have been created with---     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_SRC_BIT'+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --     set ----- -   If either @oldLayout@ or @newLayout@ is---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL'---     then @image@ /must/ have been created with---     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Extensions.VK_KHR_separate_depth_stencil_layouts.IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR'+--     then @image@ /must/ have been created with at least one of+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT',+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT', or+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT' --     set ----- -   If @image@ is non-sparse then it /must/ be bound completely and---     contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Extensions.VK_KHR_separate_depth_stencil_layouts.IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR'+--     then @image@ /must/ have been created with+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'+--     set ----- -   If either @oldLayout@ or @newLayout@ is+-- -   If @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV' --     then @image@ /must/ have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV' --     set --+-- -   If @image@ has a single-plane color format or is not /disjoint/,+--     then the @aspectMask@ member of @subresourceRange@ /must/ be+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'+--+-- -   If @image@ has a multi-planar format and the image is /disjoint/,+--     then the @aspectMask@ member of @subresourceRange@ /must/ include+--     either at least one of+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',+--     and+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT';+--     or /must/ include+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'+--+-- -   If @image@ has a multi-planar format with only two planes, then the+--     @aspectMask@ member of @subresourceRange@ /must/ not include+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'+--+-- -   If @image@ has a depth\/stencil format with both depth and stencil+--     and the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-separateDepthStencilLayouts separateDepthStencilLayouts>+--     feature is enabled, then the @aspectMask@ member of+--     @subresourceRange@ /must/ include either or both+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' and+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'+--+-- -   If @image@ has a depth\/stencil format with both depth and stencil+--     and the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-separateDepthStencilLayouts separateDepthStencilLayouts>+--     feature is not enabled, then the @aspectMask@ member of+--     @subresourceRange@ /must/ include both+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' and+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'+--+-- -   If @srcQueueFamilyIndex@ is not equal to @dstQueueFamilyIndex@, at+--     least one /must/ not be a special queue family reserved for external+--     memory ownership transfers, as described in+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers ???>+--+-- -   If @image@ was created with a sharing mode of+--     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT',+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ are not equal, and+--     one of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ is a special+--     queue family values reserved for external memory transfers, the+--     other /must/ be 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED'+--+-- -   If @image@ was created with a sharing mode of+--     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE', and+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ are not equal,+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ /must/ both be valid+--     queue families, or one of the special queue family values reserved+--     for external memory transfers, as described in+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers ???>+--+-- -   If @image@ was created with a sharing mode of+--     'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT', at least+--     one of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ /must/ be+--     'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED'+-- -- == Valid Usage (Implicit) -- -- -   @sType@ /must/ be@@ -612,19 +651,19 @@ -- -   @image@ /must/ be a valid 'Vulkan.Core10.Handles.Image' handle -- -- -   @subresourceRange@ /must/ be a valid---     'Vulkan.Core10.SharedTypes.ImageSubresourceRange' structure+--     'Vulkan.Core10.ImageView.ImageSubresourceRange' structure -- -- = See Also -- -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags', -- 'Vulkan.Core10.Handles.Image', -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',--- 'Vulkan.Core10.SharedTypes.ImageSubresourceRange',+-- 'Vulkan.Core10.ImageView.ImageSubresourceRange', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Core10.CommandBufferBuilding.cmdPipelineBarrier', -- 'Vulkan.Core10.CommandBufferBuilding.cmdWaitEvents' data ImageMemoryBarrier (es :: [Type]) = ImageMemoryBarrier-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @srcAccessMask@ is a bitmask of     -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits' specifying a
src/Vulkan/Core10/Pass.hs view
@@ -12,6 +12,23 @@                            , SubpassDependency(..)                            , RenderPassCreateInfo(..)                            , FramebufferCreateInfo(..)+                           , Framebuffer(..)+                           , RenderPass(..)+                           , AttachmentLoadOp(..)+                           , AttachmentStoreOp(..)+                           , PipelineBindPoint(..)+                           , RenderPassCreateFlagBits(..)+                           , RenderPassCreateFlags+                           , AccessFlagBits(..)+                           , AccessFlags+                           , AttachmentDescriptionFlagBits(..)+                           , AttachmentDescriptionFlags+                           , DependencyFlagBits(..)+                           , DependencyFlags+                           , SubpassDescriptionFlagBits(..)+                           , SubpassDescriptionFlags+                           , FramebufferCreateFlagBits(..)+                           , FramebufferCreateFlags                            ) where  import Control.Exception.Base (bracket)@@ -71,7 +88,7 @@ import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))-import Vulkan.Core10.SharedTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Extent2D) import Vulkan.Core10.Enums.Format (Format) import Vulkan.Core10.Handles (Framebuffer) import Vulkan.Core10.Handles (Framebuffer(..))@@ -106,6 +123,23 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.AccessFlagBits (AccessFlagBits(..))+import Vulkan.Core10.Enums.AccessFlagBits (AccessFlags)+import Vulkan.Core10.Enums.AttachmentDescriptionFlagBits (AttachmentDescriptionFlagBits(..))+import Vulkan.Core10.Enums.AttachmentDescriptionFlagBits (AttachmentDescriptionFlags)+import Vulkan.Core10.Enums.AttachmentLoadOp (AttachmentLoadOp(..))+import Vulkan.Core10.Enums.AttachmentStoreOp (AttachmentStoreOp(..))+import Vulkan.Core10.Enums.DependencyFlagBits (DependencyFlagBits(..))+import Vulkan.Core10.Enums.DependencyFlagBits (DependencyFlags)+import Vulkan.Core10.Handles (Framebuffer(..))+import Vulkan.Core10.Enums.FramebufferCreateFlagBits (FramebufferCreateFlagBits(..))+import Vulkan.Core10.Enums.FramebufferCreateFlagBits (FramebufferCreateFlags)+import Vulkan.Core10.Enums.PipelineBindPoint (PipelineBindPoint(..))+import Vulkan.Core10.Handles (RenderPass(..))+import Vulkan.Core10.Enums.RenderPassCreateFlagBits (RenderPassCreateFlagBits(..))+import Vulkan.Core10.Enums.RenderPassCreateFlagBits (RenderPassCreateFlags)+import Vulkan.Core10.Enums.SubpassDescriptionFlagBits (SubpassDescriptionFlagBits(..))+import Vulkan.Core10.Enums.SubpassDescriptionFlagBits (SubpassDescriptionFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -426,12 +460,12 @@ -- The conditions leading to an optimal @renderArea@ are: -- -- -   the @offset.x@ member in @renderArea@ is a multiple of the @width@---     member of the returned 'Vulkan.Core10.SharedTypes.Extent2D' (the---     horizontal granularity).+--     member of the returned 'Vulkan.Core10.FundamentalTypes.Extent2D'+--     (the horizontal granularity). -- -- -   the @offset.y@ member in @renderArea@ is a multiple of the @height@---     of the returned 'Vulkan.Core10.SharedTypes.Extent2D' (the vertical---     granularity).+--     of the returned 'Vulkan.Core10.FundamentalTypes.Extent2D' (the+--     vertical granularity). -- -- -   either the @offset.width@ member in @renderArea@ is a multiple of --     the horizontal granularity or @offset.x@+@offset.width@ is equal to@@ -458,14 +492,15 @@ --     handle -- -- -   @pGranularity@ /must/ be a valid pointer to a---     'Vulkan.Core10.SharedTypes.Extent2D' structure+--     'Vulkan.Core10.FundamentalTypes.Extent2D' structure -- -- -   @renderPass@ /must/ have been created, allocated, or retrieved from --     @device@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.Handles.Device',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Handles.RenderPass' getRenderAreaGranularity :: forall io                           . (MonadIO io)@@ -1772,7 +1807,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'SubpassDependency', -- 'SubpassDescription', 'createRenderPass' data RenderPassCreateInfo (es :: [Type]) = RenderPassCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlagBits'@@ -1913,8 +1948,8 @@ -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo' to define -- the number of samples used in rasterization; however, if -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures'::@variableMultisampleRate@--- is 'Vulkan.Core10.BaseType.FALSE', then all pipelines to be bound with--- the subpass /must/ have the same value for+-- is 'Vulkan.Core10.FundamentalTypes.FALSE', then all pipelines to be+-- bound with the subpass /must/ have the same value for -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'::@rasterizationSamples@. -- -- == Valid Usage@@ -2207,7 +2242,7 @@ -- 'Vulkan.Core10.Handles.ImageView', 'Vulkan.Core10.Handles.RenderPass', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createFramebuffer' data FramebufferCreateInfo (es :: [Type]) = FramebufferCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlagBits'
src/Vulkan/Core10/Pipeline.hs view
@@ -4,6 +4,7 @@                                , createComputePipelines                                , withComputePipelines                                , destroyPipeline+                               , Viewport(..)                                , SpecializationMapEntry(..)                                , SpecializationInfo(..)                                , PipelineShaderStageCreateInfo(..)@@ -22,6 +23,38 @@                                , StencilOpState(..)                                , PipelineDepthStencilStateCreateInfo(..)                                , GraphicsPipelineCreateInfo(..)+                               , Pipeline(..)+                               , PipelineLayoutCreateFlags(..)+                               , PipelineDepthStencilStateCreateFlags(..)+                               , PipelineDynamicStateCreateFlags(..)+                               , PipelineColorBlendStateCreateFlags(..)+                               , PipelineMultisampleStateCreateFlags(..)+                               , PipelineRasterizationStateCreateFlags(..)+                               , PipelineViewportStateCreateFlags(..)+                               , PipelineTessellationStateCreateFlags(..)+                               , PipelineInputAssemblyStateCreateFlags(..)+                               , PipelineVertexInputStateCreateFlags(..)+                               , PrimitiveTopology(..)+                               , CompareOp(..)+                               , PolygonMode(..)+                               , CullModeFlagBits(..)+                               , CullModeFlags+                               , FrontFace(..)+                               , BlendFactor(..)+                               , BlendOp(..)+                               , StencilOp(..)+                               , LogicOp(..)+                               , VertexInputRate(..)+                               , DynamicState(..)+                               , ShaderStageFlagBits(..)+                               , ShaderStageFlags+                               , PipelineCreateFlagBits(..)+                               , PipelineCreateFlags+                               , PipelineShaderStageCreateFlagBits(..)+                               , PipelineShaderStageCreateFlags+                               , ColorComponentFlagBits(..)+                               , ColorComponentFlags+                               , SampleMask                                ) where  import Vulkan.CStruct.Utils (FixedArray)@@ -74,8 +107,8 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.CStruct.Extends (peekSomeCStruct)@@ -85,7 +118,7 @@ import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks) import Vulkan.Core10.Enums.BlendFactor (BlendFactor) import Vulkan.Core10.Enums.BlendOp (BlendOp)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core10.Enums.ColorComponentFlagBits (ColorComponentFlags) import Vulkan.Core10.Enums.CompareOp (CompareOp)@@ -150,13 +183,13 @@ import Vulkan.CStruct.Extends (PokeChain(..)) import Vulkan.Core10.Enums.PolygonMode (PolygonMode) import Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology)-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Handles (RenderPass) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..)) import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits) import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits(SampleCountFlagBits))-import Vulkan.Core10.BaseType (SampleMask)+import Vulkan.Core10.FundamentalTypes (SampleMask) import Vulkan.Core10.Handles (ShaderModule) import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlagBits) import Vulkan.CStruct.Extends (SomeStruct)@@ -166,7 +199,6 @@ import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..)) import Vulkan.Core10.Enums.VertexInputRate (VertexInputRate)-import Vulkan.Core10.CommandBufferBuilding (Viewport) import Vulkan.Exception (VulkanException(..)) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO))@@ -182,6 +214,38 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.BlendFactor (BlendFactor(..))+import Vulkan.Core10.Enums.BlendOp (BlendOp(..))+import Vulkan.Core10.Enums.ColorComponentFlagBits (ColorComponentFlagBits(..))+import Vulkan.Core10.Enums.ColorComponentFlagBits (ColorComponentFlags)+import Vulkan.Core10.Enums.CompareOp (CompareOp(..))+import Vulkan.Core10.Enums.CullModeFlagBits (CullModeFlagBits(..))+import Vulkan.Core10.Enums.CullModeFlagBits (CullModeFlags)+import Vulkan.Core10.Enums.DynamicState (DynamicState(..))+import Vulkan.Core10.Enums.FrontFace (FrontFace(..))+import Vulkan.Core10.Enums.LogicOp (LogicOp(..))+import Vulkan.Core10.Handles (Pipeline(..))+import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags (PipelineColorBlendStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlagBits(..))+import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlags)+import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags (PipelineDepthStencilStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags (PipelineDynamicStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags (PipelineInputAssemblyStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineLayoutCreateFlags (PipelineLayoutCreateFlags(..))+import Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags (PipelineMultisampleStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags (PipelineRasterizationStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits (PipelineShaderStageCreateFlagBits(..))+import Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits (PipelineShaderStageCreateFlags)+import Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags (PipelineTessellationStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags (PipelineVertexInputStateCreateFlags(..))+import Vulkan.Core10.Enums.PipelineViewportStateCreateFlags (PipelineViewportStateCreateFlags(..))+import Vulkan.Core10.Enums.PolygonMode (PolygonMode(..))+import Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology(..))+import Vulkan.Core10.FundamentalTypes (SampleMask)+import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlagBits(..))+import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlags)+import Vulkan.Core10.Enums.StencilOp (StencilOp(..))+import Vulkan.Core10.Enums.VertexInputRate (VertexInputRate(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -503,6 +567,159 @@   pure $ ()  +-- | VkViewport - Structure specifying a viewport+--+-- = Description+--+-- The framebuffer depth coordinate @z@f /may/ be represented using either+-- a fixed-point or floating-point representation. However, a+-- floating-point representation /must/ be used if the depth\/stencil+-- attachment has a floating-point depth component. If an m-bit fixed-point+-- representation is used, we assume that it represents each value+-- \(\frac{k}{2^m - 1}\), where k ∈ { 0, 1, …​, 2m-1 }, as k (e.g. 1.0 is+-- represented in binary as a string of all ones).+--+-- The viewport parameters shown in the above equations are found from+-- these values as+--+-- -   ox = @x@ + @width@ \/ 2+--+-- -   oy = @y@ + @height@ \/ 2+--+-- -   oz = @minDepth@+--+-- -   px = @width@+--+-- -   py = @height@+--+-- -   pz = @maxDepth@ - @minDepth@.+--+-- If a render pass transform is enabled, the values (px,py) and (ox, oy)+-- defining the viewport are transformed as described in+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vertexpostproc-renderpass-transform render pass transform>+-- before participating in the viewport transform.+--+-- The application /can/ specify a negative term for @height@, which has+-- the effect of negating the y coordinate in clip space before performing+-- the transform. When using a negative @height@, the application /should/+-- also adjust the @y@ value to point to the lower left corner of the+-- viewport instead of the upper left corner. Using the negative @height@+-- allows the application to avoid having to negate the y component of the+-- @Position@ output from the last vertex processing stage in shaders that+-- also target other graphics APIs.+--+-- The width and height of the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxViewportDimensions implementation-dependent maximum viewport dimensions>+-- /must/ be greater than or equal to the width and height of the largest+-- image which /can/ be created and attached to a framebuffer.+--+-- The floating-point viewport bounds are represented with an+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-viewportSubPixelBits implementation-dependent precision>.+--+-- == Valid Usage+--+-- -   @width@ /must/ be greater than @0.0@+--+-- -   @width@ /must/ be less than or equal to+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxViewportDimensions@[0]+--+-- -   The absolute value of @height@ /must/ be less than or equal to+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxViewportDimensions@[1]+--+-- -   @x@ /must/ be greater than or equal to @viewportBoundsRange@[0]+--+-- -   (@x@ + @width@) /must/ be less than or equal to+--     @viewportBoundsRange@[1]+--+-- -   @y@ /must/ be greater than or equal to @viewportBoundsRange@[0]+--+-- -   @y@ /must/ be less than or equal to @viewportBoundsRange@[1]+--+-- -   (@y@ + @height@) /must/ be greater than or equal to+--     @viewportBoundsRange@[0]+--+-- -   (@y@ + @height@) /must/ be less than or equal to+--     @viewportBoundsRange@[1]+--+-- -   Unless @VK_EXT_depth_range_unrestricted@ extension is enabled+--     @minDepth@ /must/ be between @0.0@ and @1.0@, inclusive+--+-- -   Unless @VK_EXT_depth_range_unrestricted@ extension is enabled+--     @maxDepth@ /must/ be between @0.0@ and @1.0@, inclusive+--+-- = See Also+--+-- 'PipelineViewportStateCreateInfo',+-- 'Vulkan.Core10.CommandBufferBuilding.cmdSetViewport'+data Viewport = Viewport+  { -- | @x@ and @y@ are the viewport’s upper left corner (x,y).+    x :: Float+  , -- No documentation found for Nested "VkViewport" "y"+    y :: Float+  , -- | @width@ and @height@ are the viewport’s width and height, respectively.+    width :: Float+  , -- No documentation found for Nested "VkViewport" "height"+    height :: Float+  , -- | @minDepth@ and @maxDepth@ are the depth range for the viewport. It is+    -- valid for @minDepth@ to be greater than or equal to @maxDepth@.+    minDepth :: Float+  , -- No documentation found for Nested "VkViewport" "maxDepth"+    maxDepth :: Float+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (Viewport)+#endif+deriving instance Show Viewport++instance ToCStruct Viewport where+  withCStruct x f = allocaBytesAligned 24 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p Viewport{..} f = do+    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (x))+    poke ((p `plusPtr` 4 :: Ptr CFloat)) (CFloat (y))+    poke ((p `plusPtr` 8 :: Ptr CFloat)) (CFloat (width))+    poke ((p `plusPtr` 12 :: Ptr CFloat)) (CFloat (height))+    poke ((p `plusPtr` 16 :: Ptr CFloat)) (CFloat (minDepth))+    poke ((p `plusPtr` 20 :: Ptr CFloat)) (CFloat (maxDepth))+    f+  cStructSize = 24+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (zero))+    poke ((p `plusPtr` 4 :: Ptr CFloat)) (CFloat (zero))+    poke ((p `plusPtr` 8 :: Ptr CFloat)) (CFloat (zero))+    poke ((p `plusPtr` 12 :: Ptr CFloat)) (CFloat (zero))+    poke ((p `plusPtr` 16 :: Ptr CFloat)) (CFloat (zero))+    poke ((p `plusPtr` 20 :: Ptr CFloat)) (CFloat (zero))+    f++instance FromCStruct Viewport where+  peekCStruct p = do+    x <- peek @CFloat ((p `plusPtr` 0 :: Ptr CFloat))+    y <- peek @CFloat ((p `plusPtr` 4 :: Ptr CFloat))+    width <- peek @CFloat ((p `plusPtr` 8 :: Ptr CFloat))+    height <- peek @CFloat ((p `plusPtr` 12 :: Ptr CFloat))+    minDepth <- peek @CFloat ((p `plusPtr` 16 :: Ptr CFloat))+    maxDepth <- peek @CFloat ((p `plusPtr` 20 :: Ptr CFloat))+    pure $ Viewport+             ((\(CFloat a) -> a) x) ((\(CFloat a) -> a) y) ((\(CFloat a) -> a) width) ((\(CFloat a) -> a) height) ((\(CFloat a) -> a) minDepth) ((\(CFloat a) -> a) maxDepth)++instance Storable Viewport where+  sizeOf ~_ = 24+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero Viewport where+  zero = Viewport+           zero+           zero+           zero+           zero+           zero+           zero++ -- | VkSpecializationMapEntry - Structure specifying a specialization map -- entry --@@ -516,7 +733,7 @@ -- -   For a @constantID@ specialization constant declared in a shader, --     @size@ /must/ match the byte size of the @constantID@. If the --     specialization constant is of type @boolean@, @size@ /must/ be the---     byte size of 'Vulkan.Core10.BaseType.Bool32'+--     byte size of 'Vulkan.Core10.FundamentalTypes.Bool32' -- -- = See Also --@@ -701,9 +918,9 @@ --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxCombinedClipAndCullDistances@ -- -- -   If the identified entry point includes any variable in its interface---     that is declared with the 'Vulkan.Core10.BaseType.SampleMask'---     @BuiltIn@ decoration, that variable /must/ not have an array size---     greater than+--     that is declared with the+--     'Vulkan.Core10.FundamentalTypes.SampleMask' @BuiltIn@ decoration,+--     that variable /must/ not have an array size greater than --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxSampleMaskWords@ -- -- -   If @stage@ is@@ -875,7 +1092,7 @@ -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits', -- 'SpecializationInfo', 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineShaderStageCreateInfo (es :: [Type]) = PipelineShaderStageCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlagBits'@@ -1080,7 +1297,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createComputePipelines' data ComputePipelineCreateInfo (es :: [Type]) = ComputePipelineCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'@@ -1369,7 +1586,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'VertexInputAttributeDescription', 'VertexInputBindingDescription' data PipelineVertexInputStateCreateInfo (es :: [Type]) = PipelineVertexInputStateCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: PipelineVertexInputStateCreateFlags@@ -1469,7 +1686,8 @@ --     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY' --     or --     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_PATCH_LIST',---     @primitiveRestartEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     @primitiveRestartEnable@ /must/ be+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>@@ -1499,7 +1717,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'GraphicsPipelineCreateInfo',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'GraphicsPipelineCreateInfo', -- 'Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags', -- 'Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology', -- 'Vulkan.Core10.Enums.StructureType.StructureType'@@ -1598,7 +1816,7 @@ -- 'Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineTessellationStateCreateInfo (es :: [Type]) = PipelineTessellationStateCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: PipelineTessellationStateCreateFlags@@ -1689,7 +1907,8 @@ -- -   If the @viewportWScalingEnable@ member of a --     'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV' --     structure included in the @pNext@ chain is---     'Vulkan.Core10.BaseType.TRUE', the @viewportCount@ member of the+--     'Vulkan.Core10.FundamentalTypes.TRUE', the @viewportCount@ member of+--     the --     'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV' --     structure /must/ be equal to @viewportCount@ --@@ -1721,27 +1940,25 @@ -- -- 'GraphicsPipelineCreateInfo', -- 'Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',--- 'Vulkan.Core10.Enums.StructureType.StructureType',--- 'Vulkan.Core10.CommandBufferBuilding.Viewport'+-- 'Vulkan.Core10.FundamentalTypes.Rect2D',+-- 'Vulkan.Core10.Enums.StructureType.StructureType', 'Viewport' data PipelineViewportStateCreateInfo (es :: [Type]) = PipelineViewportStateCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: PipelineViewportStateCreateFlags   , -- | @viewportCount@ is the number of viewports used by the pipeline.     viewportCount :: Word32-  , -- | @pViewports@ is a pointer to an array of-    -- 'Vulkan.Core10.CommandBufferBuilding.Viewport' structures, defining the-    -- viewport transforms. If the viewport state is dynamic, this member is-    -- ignored.+  , -- | @pViewports@ is a pointer to an array of 'Viewport' structures, defining+    -- the viewport transforms. If the viewport state is dynamic, this member+    -- is ignored.     viewports :: Vector Viewport   , -- | @scissorCount@ is the number of     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-scissor scissors>     -- and /must/ match the number of viewports.     scissorCount :: Word32   , -- | @pScissors@ is a pointer to an array of-    -- 'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures defining the+    -- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures defining the     -- rectangular bounds of the scissor for the corresponding viewport. If the     -- scissor state is dynamic, this member is ignored.     scissors :: Vector Rect2D@@ -1855,7 +2072,7 @@ -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-depthClamp depth clamping> --     feature is not enabled, @depthClampEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fillModeNonSolid non-solid fill modes>@@ -1898,14 +2115,14 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlags', -- 'Vulkan.Core10.Enums.FrontFace.FrontFace', 'GraphicsPipelineCreateInfo', -- 'Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags.PipelineRasterizationStateCreateFlags', -- 'Vulkan.Core10.Enums.PolygonMode.PolygonMode', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineRasterizationStateCreateInfo (es :: [Type]) = PipelineRasterizationStateCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: PipelineRasterizationStateCreateFlags@@ -2054,19 +2271,20 @@ -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sampleRateShading sample rate shading> --     feature is not enabled, @sampleShadingEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-alphaToOne alpha to one> --     feature is not enabled, @alphaToOneEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   @minSampleShading@ /must/ be in the range [0,1] -- -- -   If the @VK_NV_framebuffer_mixed_samples@ extension is enabled, and --     if the subpass has any color attachments and @rasterizationSamples@ --     is greater than the number of color samples, then---     @sampleShadingEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     @sampleShadingEnable@ /must/ be+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- == Valid Usage (Implicit) --@@ -2093,17 +2311,17 @@ -- -   If @pSampleMask@ is not @NULL@, @pSampleMask@ /must/ be a valid --     pointer to an array of --     \(\lceil{\mathit{rasterizationSamples} \over 32}\rceil\)---     'Vulkan.Core10.BaseType.SampleMask' values+--     'Vulkan.Core10.FundamentalTypes.SampleMask' values -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'GraphicsPipelineCreateInfo',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'GraphicsPipelineCreateInfo', -- 'Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags', -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits',--- 'Vulkan.Core10.BaseType.SampleMask',+-- 'Vulkan.Core10.FundamentalTypes.SampleMask', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineMultisampleStateCreateInfo (es :: [Type]) = PipelineMultisampleStateCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: PipelineMultisampleStateCreateFlags@@ -2115,10 +2333,10 @@     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-sampleshading Sample Shading>.     sampleShadingEnable :: Bool   , -- | @minSampleShading@ specifies a minimum fraction of sample shading if-    -- @sampleShadingEnable@ is set to 'Vulkan.Core10.BaseType.TRUE'.+    -- @sampleShadingEnable@ is set to 'Vulkan.Core10.FundamentalTypes.TRUE'.     minSampleShading :: Float-  , -- | @pSampleMask@ is an array of 'Vulkan.Core10.BaseType.SampleMask' values-    -- used in the+  , -- | @pSampleMask@ is an array of 'Vulkan.Core10.FundamentalTypes.SampleMask'+    -- values used in the     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-samplemask sample mask test>.     sampleMask :: Vector SampleMask   , -- | @alphaToCoverageEnable@ controls whether a temporary coverage value is@@ -2261,20 +2479,20 @@ -- -- -   If --     'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT'::@advancedBlendIndependentBlend@---     is 'Vulkan.Core10.BaseType.FALSE' and @colorBlendOp@ is an+--     is 'Vulkan.Core10.FundamentalTypes.FALSE' and @colorBlendOp@ is an --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-blend-advanced advanced blend operation>, --     then @colorBlendOp@ /must/ be the same for all attachments -- -- -   If --     'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT'::@advancedBlendIndependentBlend@---     is 'Vulkan.Core10.BaseType.FALSE' and @alphaBlendOp@ is an+--     is 'Vulkan.Core10.FundamentalTypes.FALSE' and @alphaBlendOp@ is an --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-blend-advanced advanced blend operation>, --     then @alphaBlendOp@ /must/ be the same for all attachments -- -- -   If --     'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT'::@advancedBlendAllOperations@---     is 'Vulkan.Core10.BaseType.FALSE', then @colorBlendOp@ /must/ not be---     'Vulkan.Core10.Enums.BlendOp.BLEND_OP_ZERO_EXT',+--     is 'Vulkan.Core10.FundamentalTypes.FALSE', then @colorBlendOp@+--     /must/ not be 'Vulkan.Core10.Enums.BlendOp.BLEND_OP_ZERO_EXT', --     'Vulkan.Core10.Enums.BlendOp.BLEND_OP_SRC_EXT', --     'Vulkan.Core10.Enums.BlendOp.BLEND_OP_DST_EXT', --     'Vulkan.Core10.Enums.BlendOp.BLEND_OP_SRC_OVER_EXT',@@ -2340,7 +2558,8 @@ -- = See Also -- -- 'Vulkan.Core10.Enums.BlendFactor.BlendFactor',--- 'Vulkan.Core10.Enums.BlendOp.BlendOp', 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.Enums.BlendOp.BlendOp',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags', -- 'PipelineColorBlendStateCreateInfo' data PipelineColorBlendAttachmentState = PipelineColorBlendAttachmentState@@ -2457,10 +2676,11 @@ -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-logicOp logic operations> --     feature is not enabled, @logicOpEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' ----- -   If @logicOpEnable@ is 'Vulkan.Core10.BaseType.TRUE', @logicOp@---     /must/ be a valid 'Vulkan.Core10.Enums.LogicOp.LogicOp' value+-- -   If @logicOpEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+--     @logicOp@ /must/ be a valid 'Vulkan.Core10.Enums.LogicOp.LogicOp'+--     value -- -- == Valid Usage (Implicit) --@@ -2481,13 +2701,13 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'GraphicsPipelineCreateInfo',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'GraphicsPipelineCreateInfo', -- 'Vulkan.Core10.Enums.LogicOp.LogicOp', -- 'PipelineColorBlendAttachmentState', -- 'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineColorBlendStateCreateInfo (es :: [Type]) = PipelineColorBlendStateCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: PipelineColorBlendStateCreateFlags@@ -2778,7 +2998,7 @@ -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-depthBounds depth bounds testing> --     feature is not enabled, @depthBoundsTestEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- == Valid Usage (Implicit) --@@ -2798,7 +3018,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.CompareOp.CompareOp', 'GraphicsPipelineCreateInfo', -- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags', -- 'StencilOpState', 'Vulkan.Core10.Enums.StructureType.StructureType'@@ -2811,9 +3031,9 @@     depthTestEnable :: Bool   , -- | @depthWriteEnable@ controls whether     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-depth-write depth writes>-    -- are enabled when @depthTestEnable@ is 'Vulkan.Core10.BaseType.TRUE'.-    -- Depth writes are always disabled when @depthTestEnable@ is-    -- 'Vulkan.Core10.BaseType.FALSE'.+    -- are enabled when @depthTestEnable@ is+    -- 'Vulkan.Core10.FundamentalTypes.TRUE'. Depth writes are always disabled+    -- when @depthTestEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE'.     depthWriteEnable :: Bool   , -- | @depthCompareOp@ is the comparison operator used in the     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-depth depth test>.@@ -3038,7 +3258,7 @@ --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL' --     in the 'Vulkan.Core10.Pass.AttachmentReference' defined by --     @subpass@, the @depthWriteEnable@ member of @pDepthStencilState@---     /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If rasterization is not disabled and @subpass@ uses a depth\/stencil --     attachment in @renderPass@ that has a layout of@@ -3054,7 +3274,7 @@ --     attachments, then for each color attachment in the subpass the --     @blendEnable@ member of the corresponding element of the --     @pAttachment@ member of @pColorBlendState@ /must/ be---     'Vulkan.Core10.BaseType.FALSE' if the attached image’s+--     'Vulkan.Core10.FundamentalTypes.FALSE' if the attached image’s --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-format-features format features> --     does not contain --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT'@@ -3067,14 +3287,14 @@ -- -   If no element of the @pDynamicStates@ member of @pDynamicState@ is --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT', the --     @pViewports@ member of @pViewportState@ /must/ be a valid pointer to---     an array of @pViewportState->viewportCount@ valid---     'Vulkan.Core10.CommandBufferBuilding.Viewport' structures+--     an array of @pViewportState->viewportCount@ valid 'Viewport'+--     structures -- -- -   If no element of the @pDynamicStates@ member of @pDynamicState@ is --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR', the --     @pScissors@ member of @pViewportState@ /must/ be a valid pointer to --     an array of @pViewportState->scissorCount@---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures+--     'Vulkan.Core10.FundamentalTypes.Rect2D' structures -- -- -   If the wide lines feature is not enabled, and no element of the --     @pDynamicStates@ member of @pDynamicState@ is@@ -3082,21 +3302,21 @@ --     @lineWidth@ member of @pRasterizationState@ /must/ be @1.0@ -- -- -   If the @rasterizerDiscardEnable@ member of @pRasterizationState@ is---     'Vulkan.Core10.BaseType.FALSE', @pViewportState@ /must/ be a valid---     pointer to a valid 'PipelineViewportStateCreateInfo' structure+--     'Vulkan.Core10.FundamentalTypes.FALSE', @pViewportState@ /must/ be a+--     valid pointer to a valid 'PipelineViewportStateCreateInfo' structure -- -- -   If the @rasterizerDiscardEnable@ member of @pRasterizationState@ is---     'Vulkan.Core10.BaseType.FALSE', @pMultisampleState@ /must/ be a---     valid pointer to a valid 'PipelineMultisampleStateCreateInfo'+--     'Vulkan.Core10.FundamentalTypes.FALSE', @pMultisampleState@ /must/+--     be a valid pointer to a valid 'PipelineMultisampleStateCreateInfo' --     structure -- -- -   If the @rasterizerDiscardEnable@ member of @pRasterizationState@ is---     'Vulkan.Core10.BaseType.FALSE', and @subpass@ uses a depth\/stencil---     attachment, @pDepthStencilState@ /must/ be a valid pointer to a---     valid 'PipelineDepthStencilStateCreateInfo' structure+--     'Vulkan.Core10.FundamentalTypes.FALSE', and @subpass@ uses a+--     depth\/stencil attachment, @pDepthStencilState@ /must/ be a valid+--     pointer to a valid 'PipelineDepthStencilStateCreateInfo' structure -- -- -   If the @rasterizerDiscardEnable@ member of @pRasterizationState@ is---     'Vulkan.Core10.BaseType.FALSE', and @subpass@ uses color+--     'Vulkan.Core10.FundamentalTypes.FALSE', and @subpass@ uses color --     attachments, @pColorBlendState@ /must/ be a valid pointer to a valid --     'PipelineColorBlendStateCreateInfo' structure --@@ -3104,14 +3324,14 @@ --     @pDynamicStates@ member of @pDynamicState@ is --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BIAS', and the --     @depthBiasEnable@ member of @pRasterizationState@ is---     'Vulkan.Core10.BaseType.TRUE', the @depthBiasClamp@ member of---     @pRasterizationState@ /must/ be @0.0@+--     'Vulkan.Core10.FundamentalTypes.TRUE', the @depthBiasClamp@ member+--     of @pRasterizationState@ /must/ be @0.0@ -- -- -   If the @VK_EXT_depth_range_unrestricted@ extension is not enabled --     and no element of the @pDynamicStates@ member of @pDynamicState@ is --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BOUNDS', and --     the @depthBoundsTestEnable@ member of @pDepthStencilState@ is---     'Vulkan.Core10.BaseType.TRUE', the @minDepthBounds@ and+--     'Vulkan.Core10.FundamentalTypes.TRUE', the @minDepthBounds@ and --     @maxDepthBounds@ members of @pDepthStencilState@ /must/ be between --     @0.0@ and @1.0@, inclusive --@@ -3120,7 +3340,7 @@ --     and the @sampleLocationsEnable@ member of a --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT' --     structure included in the @pNext@ chain of @pMultisampleState@ is---     'Vulkan.Core10.BaseType.TRUE',+--     'Vulkan.Core10.FundamentalTypes.TRUE', --     @sampleLocationsInfo.sampleLocationGridSize.width@ /must/ evenly --     divide --     'Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT'::@sampleLocationGridSize.width@@@ -3133,7 +3353,7 @@ --     and the @sampleLocationsEnable@ member of a --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT' --     structure included in the @pNext@ chain of @pMultisampleState@ is---     'Vulkan.Core10.BaseType.TRUE',+--     'Vulkan.Core10.FundamentalTypes.TRUE', --     @sampleLocationsInfo.sampleLocationGridSize.height@ /must/ evenly --     divide --     'Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT'::@sampleLocationGridSize.height@@@ -3146,15 +3366,16 @@ --     and the @sampleLocationsEnable@ member of a --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT' --     structure included in the @pNext@ chain of @pMultisampleState@ is---     'Vulkan.Core10.BaseType.TRUE',+--     'Vulkan.Core10.FundamentalTypes.TRUE', --     @sampleLocationsInfo.sampleLocationsPerPixel@ /must/ equal --     @rasterizationSamples@ -- -- -   If the @sampleLocationsEnable@ member of a --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT' --     structure included in the @pNext@ chain of @pMultisampleState@ is---     'Vulkan.Core10.BaseType.TRUE', the fragment shader code /must/ not---     statically use the extended instruction @InterpolateAtSample@+--     'Vulkan.Core10.FundamentalTypes.TRUE', the fragment shader code+--     /must/ not statically use the extended instruction+--     @InterpolateAtSample@ -- -- -   @layout@ /must/ be --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-pipelinelayout-consistency consistent>@@ -3233,8 +3454,8 @@ --     and the @viewportWScalingEnable@ member of a --     'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV' --     structure, included in the @pNext@ chain of @pViewportState@, is---     'Vulkan.Core10.BaseType.TRUE', the @pViewportWScalings@ member of---     the+--     'Vulkan.Core10.FundamentalTypes.TRUE', the @pViewportWScalings@+--     member of the --     'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV' --     /must/ be a pointer to an array of --     'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV'::@viewportCount@@@ -3242,6 +3463,33 @@ --     'Vulkan.Extensions.VK_NV_clip_space_w_scaling.ViewportWScalingNV' --     structures --+-- -   If no element of the @pDynamicStates@ member of @pDynamicState@ is+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV',+--     and if @pViewportState->pNext@ chain includes a+--     'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV'+--     structure, and if its @exclusiveScissorCount@ member is not @0@,+--     then its @pExclusiveScissors@ member /must/ be a valid pointer to an+--     array of @exclusiveScissorCount@+--     'Vulkan.Core10.FundamentalTypes.Rect2D' structures+--+-- -   If no element of the @pDynamicStates@ member of @pDynamicState@ is+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV',+--     and if @pViewportState->pNext@ chain includes a+--     'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV'+--     structure, then its @pShadingRatePalettes@ member /must/ be a valid+--     pointer to an array of @viewportCount@ valid+--     'Vulkan.Extensions.VK_NV_shading_rate_image.ShadingRatePaletteNV'+--     structures+--+-- -   If no element of the @pDynamicStates@ member of @pDynamicState@ is+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT',+--     and if @pNext@ chain includes a+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT'+--     structure, and if its @discardRectangleCount@ member is not @0@,+--     then its @pDiscardRectangles@ member /must/ be a valid pointer to an+--     array of @discardRectangleCount@+--     'Vulkan.Core10.FundamentalTypes.Rect2D' structures+-- -- -   If @pStages@ includes a vertex shader stage, @pVertexInputState@ --     /must/ be a valid pointer to a valid --     'PipelineVertexInputStateCreateInfo' structure@@ -3288,11 +3536,12 @@ --     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT' --     and if rasterization is enabled, then the @alphaToCoverageEnable@, --     @alphaToOneEnable@, and @sampleShadingEnable@ members of---     @pMultisampleState@ /must/ all be 'Vulkan.Core10.BaseType.FALSE'+--     @pMultisampleState@ /must/ all be+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If the @stippledLineEnable@ member of --     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'---     is 'Vulkan.Core10.BaseType.TRUE' and no element of the+--     is 'Vulkan.Core10.FundamentalTypes.TRUE' and no element of the --     @pDynamicStates@ member of @pDynamicState@ is --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT', --     then the @lineStippleFactor@ member of@@ -3395,7 +3644,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createGraphicsPipelines' data GraphicsPipelineCreateInfo (es :: [Type]) = GraphicsPipelineCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
src/Vulkan/Core10/Pipeline.hs-boot view
@@ -17,6 +17,7 @@                                , StencilOpState                                , VertexInputAttributeDescription                                , VertexInputBindingDescription+                               , Viewport                                ) where  import Data.Kind (Type)@@ -177,4 +178,12 @@ instance Show VertexInputBindingDescription  instance FromCStruct VertexInputBindingDescription+++data Viewport++instance ToCStruct Viewport+instance Show Viewport++instance FromCStruct Viewport 
src/Vulkan/Core10/PipelineCache.hs view
@@ -5,6 +5,9 @@                                     , getPipelineCacheData                                     , mergePipelineCaches                                     , PipelineCacheCreateInfo(..)+                                    , PipelineCache(..)+                                    , PipelineCacheCreateFlagBits(..)+                                    , PipelineCacheCreateFlags                                     ) where  import Control.Exception.Base (bracket)@@ -68,6 +71,9 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (PipelineCache(..))+import Vulkan.Core10.Enums.PipelineCacheCreateFlagBits (PipelineCacheCreateFlagBits(..))+import Vulkan.Core10.Enums.PipelineCacheCreateFlagBits (PipelineCacheCreateFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe
src/Vulkan/Core10/PipelineLayout.hs view
@@ -4,6 +4,7 @@                                      , destroyPipelineLayout                                      , PushConstantRange(..)                                      , PipelineLayoutCreateInfo(..)+                                     , PipelineLayout(..)                                      ) where  import Control.Exception.Base (bracket)@@ -61,6 +62,7 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (PipelineLayout(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe
src/Vulkan/Core10/Query.hs view
@@ -4,6 +4,13 @@                             , destroyQueryPool                             , getQueryPoolResults                             , QueryPoolCreateInfo(..)+                            , QueryPool(..)+                            , QueryPoolCreateFlags(..)+                            , QueryType(..)+                            , QueryResultFlagBits(..)+                            , QueryResultFlags+                            , QueryPipelineStatisticFlagBits(..)+                            , QueryPipelineStatisticFlags                             ) where  import Control.Exception.Base (bracket)@@ -47,7 +54,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkCreateQueryPool)) import Vulkan.Dynamic (DeviceCmds(pVkDestroyQueryPool)) import Vulkan.Dynamic (DeviceCmds(pVkGetQueryPoolResults))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss)@@ -77,6 +84,13 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits (QueryPipelineStatisticFlagBits(..))+import Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits (QueryPipelineStatisticFlags)+import Vulkan.Core10.Handles (QueryPool(..))+import Vulkan.Core10.Enums.QueryPoolCreateFlags (QueryPoolCreateFlags(..))+import Vulkan.Core10.Enums.QueryResultFlagBits (QueryResultFlagBits(..))+import Vulkan.Core10.Enums.QueryResultFlagBits (QueryResultFlags)+import Vulkan.Core10.Enums.QueryType (QueryType(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -413,7 +427,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.Handles.Device',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Handles.QueryPool', -- 'Vulkan.Core10.Enums.QueryResultFlagBits.QueryResultFlags' getQueryPoolResults :: forall io@@ -505,7 +520,7 @@ -- 'Vulkan.Core10.Enums.QueryType.QueryType', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createQueryPool' data QueryPoolCreateInfo (es :: [Type]) = QueryPoolCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: QueryPoolCreateFlags
src/Vulkan/Core10/Queue.hs view
@@ -6,6 +6,9 @@                             , deviceWaitIdle                             , deviceWaitIdleSafe                             , SubmitInfo(..)+                            , Queue(..)+                            , PipelineStageFlagBits(..)+                            , PipelineStageFlags                             ) where  import Control.Exception.Base (bracket)@@ -86,6 +89,9 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SUBMIT_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlagBits(..))+import Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlags)+import Vulkan.Core10.Handles (Queue(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -162,12 +168,6 @@ -- -- = Description ----- Note------ Submission can be a high overhead operation, and applications /should/--- attempt to batch work together into as few calls to 'queueSubmit' as--- possible.--- -- 'queueSubmit' is a -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-submission queue submission command>, -- with each batch defined by an element of @pSubmits@. Batches begin@@ -704,7 +704,7 @@ -- 'Vulkan.Core10.Handles.Semaphore', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'queueSubmit' data SubmitInfo (es :: [Type]) = SubmitInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @pWaitSemaphores@ is a pointer to an array of     -- 'Vulkan.Core10.Handles.Semaphore' handles upon which to wait before the
src/Vulkan/Core10/QueueSemaphore.hs view
@@ -3,6 +3,8 @@                                      , withSemaphore                                      , destroySemaphore                                      , SemaphoreCreateInfo(..)+                                     , Semaphore(..)+                                     , SemaphoreCreateFlags(..)                                      ) where  import Control.Exception.Base (bracket)@@ -66,6 +68,8 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (Semaphore(..))+import Vulkan.Core10.Enums.SemaphoreCreateFlags (SemaphoreCreateFlags(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -240,7 +244,7 @@ -- 'Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createSemaphore' data SemaphoreCreateInfo (es :: [Type]) = SemaphoreCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: SemaphoreCreateFlags
src/Vulkan/Core10/Sampler.hs view
@@ -3,6 +3,13 @@                               , withSampler                               , destroySampler                               , SamplerCreateInfo(..)+                              , Sampler(..)+                              , BorderColor(..)+                              , Filter(..)+                              , SamplerMipmapMode(..)+                              , SamplerAddressMode(..)+                              , SamplerCreateFlagBits(..)+                              , SamplerCreateFlags                               ) where  import Control.Exception.Base (bracket)@@ -34,12 +41,12 @@ import Foreign.Ptr (Ptr) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Enums.BorderColor (BorderColor) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core10.Enums.CompareOp (CompareOp)@@ -76,6 +83,13 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SAMPLER_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.BorderColor (BorderColor(..))+import Vulkan.Core10.Enums.Filter (Filter(..))+import Vulkan.Core10.Handles (Sampler(..))+import Vulkan.Core10.Enums.SamplerAddressMode (SamplerAddressMode(..))+import Vulkan.Core10.Enums.SamplerCreateFlagBits (SamplerCreateFlagBits(..))+import Vulkan.Core10.Enums.SamplerCreateFlagBits (SamplerCreateFlags)+import Vulkan.Core10.Enums.SamplerMipmapMode (SamplerMipmapMode(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -281,9 +295,9 @@ -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-samplerAnisotropy anisotropic sampling> --     feature is not enabled, @anisotropyEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' ----- -   If @anisotropyEnable@ is 'Vulkan.Core10.BaseType.TRUE',+-- -   If @anisotropyEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE', --     @maxAnisotropy@ /must/ be between @1.0@ and --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxSamplerAnisotropy@, --     inclusive@@ -297,27 +311,32 @@ --     @minFilter@ and @magFilter@ /must/ be equal to the sampler Y′CBCR --     conversion’s @chromaFilter@ ----- -   If @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE',---     @minFilter@ and @magFilter@ /must/ be equal+-- -   If @unnormalizedCoordinates@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', @minFilter@ and @magFilter@+--     /must/ be equal ----- -   If @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE',---     @mipmapMode@ /must/ be+-- -   If @unnormalizedCoordinates@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', @mipmapMode@ /must/ be --     'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_NEAREST' ----- -   If @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE',---     @minLod@ and @maxLod@ /must/ be zero+-- -   If @unnormalizedCoordinates@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', @minLod@ and @maxLod@ /must/+--     be zero ----- -   If @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE',---     @addressModeU@ and @addressModeV@ /must/ each be either+-- -   If @unnormalizedCoordinates@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', @addressModeU@ and+--     @addressModeV@ /must/ each be either --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE' --     or --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER' ----- -   If @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE',---     @anisotropyEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+-- -   If @unnormalizedCoordinates@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', @anisotropyEnable@ /must/ be+--     'Vulkan.Core10.FundamentalTypes.FALSE' ----- -   If @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE',---     @compareEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+-- -   If @unnormalizedCoordinates@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', @compareEnable@ /must/ be+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If any of @addressModeU@, @addressModeV@ or @addressModeW@ are --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER',@@ -329,8 +348,9 @@ --     is enabled, @addressModeU@, @addressModeV@, and @addressModeW@ --     /must/ be --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE',---     @anisotropyEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE', and---     @unnormalizedCoordinates@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     @anisotropyEnable@ /must/ be 'Vulkan.Core10.FundamentalTypes.FALSE',+--     and @unnormalizedCoordinates@ /must/ be+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   The sampler reduction mode /must/ be set to --     'Vulkan.Core12.Enums.SamplerReductionMode.SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE'@@ -345,14 +365,15 @@ --     @addressModeW@ /must/ not be --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE' ----- -   If @compareEnable@ is 'Vulkan.Core10.BaseType.TRUE', @compareOp@---     /must/ be a valid 'Vulkan.Core10.Enums.CompareOp.CompareOp' value+-- -   If @compareEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+--     @compareOp@ /must/ be a valid+--     'Vulkan.Core10.Enums.CompareOp.CompareOp' value -- -- -   If either @magFilter@ or @minFilter@ is --     'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT',---     @anisotropyEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     @anisotropyEnable@ /must/ be 'Vulkan.Core10.FundamentalTypes.FALSE' ----- -   If @compareEnable@ is 'Vulkan.Core10.BaseType.TRUE', the+-- -   If @compareEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the --     @reductionMode@ member of --     'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo' --     /must/ be@@ -380,16 +401,18 @@ -- -- -   If @flags@ includes --     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_SUBSAMPLED_BIT_EXT',---     then @anisotropyEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     then @anisotropyEnable@ /must/ be+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If @flags@ includes --     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_SUBSAMPLED_BIT_EXT',---     then @compareEnable@ /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     then @compareEnable@ /must/ be+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If @flags@ includes --     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_SUBSAMPLED_BIT_EXT', --     then @unnormalizedCoordinates@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If @borderColor@ is set to one of --     'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_CUSTOM_EXT' or@@ -446,7 +469,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.BorderColor.BorderColor', -- 'Vulkan.Core10.Enums.CompareOp.CompareOp', -- 'Vulkan.Core10.Enums.Filter.Filter',@@ -455,7 +478,7 @@ -- 'Vulkan.Core10.Enums.SamplerMipmapMode.SamplerMipmapMode', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createSampler' data SamplerCreateInfo (es :: [Type]) = SamplerCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits'@@ -492,19 +515,19 @@     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-level-of-detail-operation Level-of-Detail Operation>     -- section.     mipLodBias :: Float-  , -- | @anisotropyEnable@ is 'Vulkan.Core10.BaseType.TRUE' to enable+  , -- | @anisotropyEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' to enable     -- anisotropic filtering, as described in the     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-texel-anisotropic-filtering Texel Anisotropic Filtering>-    -- section, or 'Vulkan.Core10.BaseType.FALSE' otherwise.+    -- section, or 'Vulkan.Core10.FundamentalTypes.FALSE' otherwise.     anisotropyEnable :: Bool   , -- | @maxAnisotropy@ is the anisotropy value clamp used by the sampler when-    -- @anisotropyEnable@ is 'Vulkan.Core10.BaseType.TRUE'. If-    -- @anisotropyEnable@ is 'Vulkan.Core10.BaseType.FALSE', @maxAnisotropy@ is-    -- ignored.+    -- @anisotropyEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE'. If+    -- @anisotropyEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- @maxAnisotropy@ is ignored.     maxAnisotropy :: Float-  , -- | @compareEnable@ is 'Vulkan.Core10.BaseType.TRUE' to enable comparison-    -- against a reference value during lookups, or-    -- 'Vulkan.Core10.BaseType.FALSE' otherwise.+  , -- | @compareEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' to enable+    -- comparison against a reference value during lookups, or+    -- 'Vulkan.Core10.FundamentalTypes.FALSE' otherwise.     --     -- -   Note: Some implementations will default to shader state if this     --     member does not match.@@ -527,13 +550,15 @@     borderColor :: BorderColor   , -- | @unnormalizedCoordinates@ controls whether to use unnormalized or     -- normalized texel coordinates to address texels of the image. When set to-    -- 'Vulkan.Core10.BaseType.TRUE', the range of the image coordinates used-    -- to lookup the texel is in the range of zero to the image dimensions for-    -- x, y and z. When set to 'Vulkan.Core10.BaseType.FALSE' the range of-    -- image coordinates is zero to one.+    -- 'Vulkan.Core10.FundamentalTypes.TRUE', the range of the image+    -- coordinates used to lookup the texel is in the range of zero to the+    -- image dimensions for x, y and z. When set to+    -- 'Vulkan.Core10.FundamentalTypes.FALSE' the range of image coordinates is+    -- zero to one.     ---    -- When @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE', images-    -- the sampler is used with in the shader have the following requirements:+    -- When @unnormalizedCoordinates@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+    -- images the sampler is used with in the shader have the following+    -- requirements:     --     -- -   The @viewType@ /must/ be either     --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_1D' or@@ -541,9 +566,9 @@     --     -- -   The image view /must/ have a single layer and a single mip level.     ---    -- When @unnormalizedCoordinates@ is 'Vulkan.Core10.BaseType.TRUE', image-    -- built-in functions in the shader that use the sampler have the following-    -- requirements:+    -- When @unnormalizedCoordinates@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+    -- image built-in functions in the shader that use the sampler have the+    -- following requirements:     --     -- -   The functions /must/ not use projection.     --
src/Vulkan/Core10/Shader.hs view
@@ -3,6 +3,9 @@                              , withShaderModule                              , destroyShaderModule                              , ShaderModuleCreateInfo(..)+                             , ShaderModule(..)+                             , ShaderModuleCreateFlagBits(..)+                             , ShaderModuleCreateFlags                              ) where  import Control.Exception.Base (bracket)@@ -75,6 +78,9 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Handles (ShaderModule(..))+import Vulkan.Core10.Enums.ShaderModuleCreateFlagBits (ShaderModuleCreateFlagBits(..))+import Vulkan.Core10.Enums.ShaderModuleCreateFlagBits (ShaderModuleCreateFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -301,7 +307,7 @@ -- 'Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createShaderModule' data ShaderModuleCreateInfo (es :: [Type]) = ShaderModuleCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: ShaderModuleCreateFlags
− src/Vulkan/Core10/SharedTypes.hs
@@ -1,675 +0,0 @@-{-# language CPP #-}-module Vulkan.Core10.SharedTypes  ( Offset2D(..)-                                  , Offset3D(..)-                                  , Extent2D(..)-                                  , Extent3D(..)-                                  , ImageSubresourceLayers(..)-                                  , ImageSubresourceRange(..)-                                  , ClearDepthStencilValue(..)-                                  , ClearColorValue(..)-                                  , ClearValue(..)-                                  ) where--import Vulkan.CStruct.Utils (FixedArray)-import Control.Exception.Base (bracket)-import Foreign.Marshal.Alloc (allocaBytesAligned)-import Foreign.Marshal.Alloc (callocBytes)-import Foreign.Marshal.Alloc (free)-import GHC.Ptr (castPtr)-import Foreign.Ptr (plusPtr)-import Control.Monad.Trans.Class (lift)-import Control.Monad.Trans.Cont (runContT)-import Data.Typeable (Typeable)-import Foreign.C.Types (CFloat)-import Foreign.C.Types (CFloat(CFloat))-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 (Ptr)-import Data.Word (Word32)-import Data.Kind (Type)-import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.CStruct.Utils (lowerArrayPtr)-import Vulkan.CStruct (FromCStruct)-import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags)-import Vulkan.CStruct (ToCStruct)-import Vulkan.CStruct (ToCStruct(..))-import Vulkan.Zero (Zero(..))--- | VkOffset2D - Structure specifying a two-dimensional offset------ = See Also------ 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',--- 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR'-data Offset2D = Offset2D-  { -- | @x@ is the x offset.-    x :: Int32-  , -- | @y@ is the y offset.-    y :: Int32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (Offset2D)-#endif-deriving instance Show Offset2D--instance ToCStruct Offset2D where-  withCStruct x f = allocaBytesAligned 8 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p Offset2D{..} f = do-    poke ((p `plusPtr` 0 :: Ptr Int32)) (x)-    poke ((p `plusPtr` 4 :: Ptr Int32)) (y)-    f-  cStructSize = 8-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr Int32)) (zero)-    poke ((p `plusPtr` 4 :: Ptr Int32)) (zero)-    f--instance FromCStruct Offset2D where-  peekCStruct p = do-    x <- peek @Int32 ((p `plusPtr` 0 :: Ptr Int32))-    y <- peek @Int32 ((p `plusPtr` 4 :: Ptr Int32))-    pure $ Offset2D-             x y--instance Storable Offset2D where-  sizeOf ~_ = 8-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero Offset2D where-  zero = Offset2D-           zero-           zero----- | VkOffset3D - Structure specifying a three-dimensional offset------ = See Also------ 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',--- 'Vulkan.Core10.CommandBufferBuilding.ImageBlit',--- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy',--- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind'-data Offset3D = Offset3D-  { -- | @x@ is the x offset.-    x :: Int32-  , -- | @y@ is the y offset.-    y :: Int32-  , -- | @z@ is the z offset.-    z :: Int32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (Offset3D)-#endif-deriving instance Show Offset3D--instance ToCStruct Offset3D where-  withCStruct x f = allocaBytesAligned 12 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p Offset3D{..} f = do-    poke ((p `plusPtr` 0 :: Ptr Int32)) (x)-    poke ((p `plusPtr` 4 :: Ptr Int32)) (y)-    poke ((p `plusPtr` 8 :: Ptr Int32)) (z)-    f-  cStructSize = 12-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr Int32)) (zero)-    poke ((p `plusPtr` 4 :: Ptr Int32)) (zero)-    poke ((p `plusPtr` 8 :: Ptr Int32)) (zero)-    f--instance FromCStruct Offset3D where-  peekCStruct p = do-    x <- peek @Int32 ((p `plusPtr` 0 :: Ptr Int32))-    y <- peek @Int32 ((p `plusPtr` 4 :: Ptr Int32))-    z <- peek @Int32 ((p `plusPtr` 8 :: Ptr Int32))-    pure $ Offset3D-             x y z--instance Storable Offset3D where-  sizeOf ~_ = 12-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero Offset3D where-  zero = Offset3D-           zero-           zero-           zero----- | VkExtent2D - Structure specifying a two-dimensional extent------ = See Also------ 'Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR',--- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR',--- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',--- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR',--- 'Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT',--- 'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT',--- 'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',--- 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR',--- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT',--- 'Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT',--- 'Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR',--- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',--- 'Vulkan.Core10.Pass.getRenderAreaGranularity'-data Extent2D = Extent2D-  { -- | @width@ is the width of the extent.-    width :: Word32-  , -- | @height@ is the height of the extent.-    height :: Word32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (Extent2D)-#endif-deriving instance Show Extent2D--instance ToCStruct Extent2D where-  withCStruct x f = allocaBytesAligned 8 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p Extent2D{..} f = do-    poke ((p `plusPtr` 0 :: Ptr Word32)) (width)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (height)-    f-  cStructSize = 8-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)-    f--instance FromCStruct Extent2D where-  peekCStruct p = do-    width <- peek @Word32 ((p `plusPtr` 0 :: Ptr Word32))-    height <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))-    pure $ Extent2D-             width height--instance Storable Extent2D where-  sizeOf ~_ = 8-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero Extent2D where-  zero = Extent2D-           zero-           zero----- | VkExtent3D - Structure specifying a three-dimensional extent------ = See Also------ 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',--- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy',--- 'Vulkan.Core10.Image.ImageCreateInfo',--- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',--- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve',--- 'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties',--- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind'-data Extent3D = Extent3D-  { -- | @width@ is the width of the extent.-    width :: Word32-  , -- | @height@ is the height of the extent.-    height :: Word32-  , -- | @depth@ is the depth of the extent.-    depth :: Word32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (Extent3D)-#endif-deriving instance Show Extent3D--instance ToCStruct Extent3D where-  withCStruct x f = allocaBytesAligned 12 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p Extent3D{..} f = do-    poke ((p `plusPtr` 0 :: Ptr Word32)) (width)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (height)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (depth)-    f-  cStructSize = 12-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)-    f--instance FromCStruct Extent3D where-  peekCStruct p = do-    width <- peek @Word32 ((p `plusPtr` 0 :: Ptr Word32))-    height <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))-    depth <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))-    pure $ Extent3D-             width height depth--instance Storable Extent3D where-  sizeOf ~_ = 12-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero Extent3D where-  zero = Extent3D-           zero-           zero-           zero----- | VkImageSubresourceLayers - Structure specifying an image subresource--- layers------ == Valid Usage------ -   If @aspectMask@ contains---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT', it---     /must/ not contain either of---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'------ -   @aspectMask@ /must/ not contain---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_METADATA_BIT'------ -   @aspectMask@ /must/ not include---     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index @i@------ -   @layerCount@ /must/ be greater than 0------ == Valid Usage (Implicit)------ -   @aspectMask@ /must/ be a valid combination of---     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' values------ -   @aspectMask@ /must/ not be @0@------ = See Also------ 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',--- 'Vulkan.Core10.CommandBufferBuilding.ImageBlit',--- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy',--- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve'-data ImageSubresourceLayers = ImageSubresourceLayers-  { -- | @aspectMask@ is a combination of-    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits', selecting-    -- the color, depth and\/or stencil aspects to be copied.-    aspectMask :: ImageAspectFlags-  , -- | @mipLevel@ is the mipmap level to copy from.-    mipLevel :: Word32-  , -- | @baseArrayLayer@ and @layerCount@ are the starting layer and number of-    -- layers to copy.-    baseArrayLayer :: Word32-  , -- No documentation found for Nested "VkImageSubresourceLayers" "layerCount"-    layerCount :: Word32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (ImageSubresourceLayers)-#endif-deriving instance Show ImageSubresourceLayers--instance ToCStruct ImageSubresourceLayers where-  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p ImageSubresourceLayers{..} f = do-    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (aspectMask)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (mipLevel)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (baseArrayLayer)-    poke ((p `plusPtr` 12 :: Ptr Word32)) (layerCount)-    f-  cStructSize = 16-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (zero)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 12 :: Ptr Word32)) (zero)-    f--instance FromCStruct ImageSubresourceLayers where-  peekCStruct p = do-    aspectMask <- peek @ImageAspectFlags ((p `plusPtr` 0 :: Ptr ImageAspectFlags))-    mipLevel <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))-    baseArrayLayer <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))-    layerCount <- peek @Word32 ((p `plusPtr` 12 :: Ptr Word32))-    pure $ ImageSubresourceLayers-             aspectMask mipLevel baseArrayLayer layerCount--instance Storable ImageSubresourceLayers where-  sizeOf ~_ = 16-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero ImageSubresourceLayers where-  zero = ImageSubresourceLayers-           zero-           zero-           zero-           zero----- | VkImageSubresourceRange - Structure specifying an image subresource--- range------ = Description------ The number of mipmap levels and array layers /must/ be a subset of the--- image subresources in the image. If an application wants to use all mip--- levels or layers in an image after the @baseMipLevel@ or--- @baseArrayLayer@, it /can/ set @levelCount@ and @layerCount@ to the--- special values 'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS' and--- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' without knowing the--- exact number of mip levels or layers.------ For cube and cube array image views, the layers of the image view--- starting at @baseArrayLayer@ correspond to faces in the order +X, -X,--- +Y, -Y, +Z, -Z. For cube arrays, each set of six sequential layers is a--- single cube, so the number of cube maps in a cube map array view is--- /@layerCount@ \/ 6/, and image array layer (@baseArrayLayer@ + i) is--- face index (i mod 6) of cube /i \/ 6/. If the number of layers in the--- view, whether set explicitly in @layerCount@ or implied by--- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', is not a multiple--- of 6, the last cube map in the array /must/ not be accessed.------ @aspectMask@ /must/ be only--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT',--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT' if--- @format@ is a color, depth-only or stencil-only format, respectively,--- except if @format@ is a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>.--- If using a depth\/stencil format with both depth and stencil components,--- @aspectMask@ /must/ include at least one of--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' and--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT', and--- /can/ include both.------ When the 'ImageSubresourceRange' structure is used to select a subset of--- the slices of a 3D image’s mip level in order to create a 2D or 2D array--- image view of a 3D image created with--- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT',--- @baseArrayLayer@ and @layerCount@ specify the first slice index and the--- number of slices to include in the created image view. Such an image--- view /can/ be used as a framebuffer attachment that refers only to the--- specified range of slices of the selected mip level. However, any layout--- transitions performed on such an attachment view during a render pass--- instance still apply to the entire subresource referenced which includes--- all the slices of the selected mip level.------ When using an image view of a depth\/stencil image to populate a--- descriptor set (e.g. for sampling in the shader, or for use as an input--- attachment), the @aspectMask@ /must/ only include one bit and selects--- whether the image view is used for depth reads (i.e. using a--- floating-point sampler or input attachment in the shader) or stencil--- reads (i.e. using an unsigned integer sampler or input attachment in the--- shader). When an image view of a depth\/stencil image is used as a--- depth\/stencil framebuffer attachment, the @aspectMask@ is ignored and--- both depth and stencil image subresources are used.------ The 'Vulkan.Core10.ImageView.ComponentMapping' @components@ member--- describes a remapping from components of the image to components of the--- vector returned by shader image instructions. This remapping /must/ be--- identity for storage image descriptors, input attachment descriptors,--- framebuffer attachments, and any 'Vulkan.Core10.Handles.ImageView' used--- with a combined image sampler that enables--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>.------ When creating a 'Vulkan.Core10.Handles.ImageView', if--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>--- is enabled in the sampler, the @aspectMask@ of a @subresourceRange@ used--- by the 'Vulkan.Core10.Handles.ImageView' /must/ be--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT'.------ When creating a 'Vulkan.Core10.Handles.ImageView', if sampler Y′CBCR--- conversion is not enabled in the sampler and the image @format@ is--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>,--- the image /must/ have been created with--- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MUTABLE_FORMAT_BIT',--- and the @aspectMask@ of the 'Vulkan.Core10.Handles.ImageView'’s--- @subresourceRange@ /must/ be--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' or--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'.------ == Valid Usage------ -   If @levelCount@ is not---     'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS', it /must/ be---     greater than @0@------ -   If @layerCount@ is not---     'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', it /must/ be---     greater than @0@------ -   If @aspectMask@ includes---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT',---     then it /must/ not include any of---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',---     or---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'------ -   @aspectMask@ /must/ not include---     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index @i@------ == Valid Usage (Implicit)------ -   @aspectMask@ /must/ be a valid combination of---     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' values------ -   @aspectMask@ /must/ not be @0@------ = See Also------ 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',--- 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',--- 'Vulkan.Core10.ImageView.ImageViewCreateInfo',--- 'Vulkan.Core10.CommandBufferBuilding.cmdClearColorImage',--- 'Vulkan.Core10.CommandBufferBuilding.cmdClearDepthStencilImage'-data ImageSubresourceRange = ImageSubresourceRange-  { -- | @aspectMask@ is a bitmask of-    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' specifying-    -- which aspect(s) of the image are included in the view.-    aspectMask :: ImageAspectFlags-  , -- | @baseMipLevel@ is the first mipmap level accessible to the view.-    baseMipLevel :: Word32-  , -- | @levelCount@ is the number of mipmap levels (starting from-    -- @baseMipLevel@) accessible to the view.-    levelCount :: Word32-  , -- | @baseArrayLayer@ is the first array layer accessible to the view.-    baseArrayLayer :: Word32-  , -- | @layerCount@ is the number of array layers (starting from-    -- @baseArrayLayer@) accessible to the view.-    layerCount :: Word32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (ImageSubresourceRange)-#endif-deriving instance Show ImageSubresourceRange--instance ToCStruct ImageSubresourceRange where-  withCStruct x f = allocaBytesAligned 20 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p ImageSubresourceRange{..} f = do-    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (aspectMask)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (baseMipLevel)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (levelCount)-    poke ((p `plusPtr` 12 :: Ptr Word32)) (baseArrayLayer)-    poke ((p `plusPtr` 16 :: Ptr Word32)) (layerCount)-    f-  cStructSize = 20-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (zero)-    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 12 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)-    f--instance FromCStruct ImageSubresourceRange where-  peekCStruct p = do-    aspectMask <- peek @ImageAspectFlags ((p `plusPtr` 0 :: Ptr ImageAspectFlags))-    baseMipLevel <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))-    levelCount <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))-    baseArrayLayer <- peek @Word32 ((p `plusPtr` 12 :: Ptr Word32))-    layerCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))-    pure $ ImageSubresourceRange-             aspectMask baseMipLevel levelCount baseArrayLayer layerCount--instance Storable ImageSubresourceRange where-  sizeOf ~_ = 20-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero ImageSubresourceRange where-  zero = ImageSubresourceRange-           zero-           zero-           zero-           zero-           zero----- | VkClearDepthStencilValue - Structure specifying a clear depth stencil--- value------ == Valid Usage------ -   Unless the @VK_EXT_depth_range_unrestricted@ extension is enabled---     @depth@ /must/ be between @0.0@ and @1.0@, inclusive------ = See Also------ 'ClearValue',--- 'Vulkan.Core10.CommandBufferBuilding.cmdClearDepthStencilImage'-data ClearDepthStencilValue = ClearDepthStencilValue-  { -- | @depth@ is the clear value for the depth aspect of the depth\/stencil-    -- attachment. It is a floating-point value which is automatically-    -- converted to the attachment’s format.-    depth :: Float-  , -- | @stencil@ is the clear value for the stencil aspect of the-    -- depth\/stencil attachment. It is a 32-bit integer value which is-    -- converted to the attachment’s format by taking the appropriate number of-    -- LSBs.-    stencil :: Word32-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (ClearDepthStencilValue)-#endif-deriving instance Show ClearDepthStencilValue--instance ToCStruct ClearDepthStencilValue where-  withCStruct x f = allocaBytesAligned 8 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p ClearDepthStencilValue{..} f = do-    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (depth))-    poke ((p `plusPtr` 4 :: Ptr Word32)) (stencil)-    f-  cStructSize = 8-  cStructAlignment = 4-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr CFloat)) (CFloat (zero))-    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)-    f--instance FromCStruct ClearDepthStencilValue where-  peekCStruct p = do-    depth <- peek @CFloat ((p `plusPtr` 0 :: Ptr CFloat))-    stencil <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))-    pure $ ClearDepthStencilValue-             ((\(CFloat a) -> a) depth) stencil--instance Storable ClearDepthStencilValue where-  sizeOf ~_ = 8-  alignment ~_ = 4-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero ClearDepthStencilValue where-  zero = ClearDepthStencilValue-           zero-           zero---data ClearColorValue-  = Float32 ((Float, Float, Float, Float))-  | Int32 ((Int32, Int32, Int32, Int32))-  | Uint32 ((Word32, Word32, Word32, Word32))-  deriving (Show)--instance ToCStruct ClearColorValue where-  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct :: Ptr ClearColorValue -> ClearColorValue -> IO a -> IO a-  pokeCStruct p = (. const) . runContT .  \case-    Float32 v -> lift $ do-      let pFloat32 = lowerArrayPtr (castPtr @_ @(FixedArray 4 CFloat) p)-      case (v) of-        (e0, e1, e2, e3) -> do-          poke (pFloat32 :: Ptr CFloat) (CFloat (e0))-          poke (pFloat32 `plusPtr` 4 :: Ptr CFloat) (CFloat (e1))-          poke (pFloat32 `plusPtr` 8 :: Ptr CFloat) (CFloat (e2))-          poke (pFloat32 `plusPtr` 12 :: Ptr CFloat) (CFloat (e3))-    Int32 v -> lift $ do-      let pInt32 = lowerArrayPtr (castPtr @_ @(FixedArray 4 Int32) p)-      case (v) of-        (e0, e1, e2, e3) -> do-          poke (pInt32 :: Ptr Int32) (e0)-          poke (pInt32 `plusPtr` 4 :: Ptr Int32) (e1)-          poke (pInt32 `plusPtr` 8 :: Ptr Int32) (e2)-          poke (pInt32 `plusPtr` 12 :: Ptr Int32) (e3)-    Uint32 v -> lift $ do-      let pUint32 = lowerArrayPtr (castPtr @_ @(FixedArray 4 Word32) p)-      case (v) of-        (e0, e1, e2, e3) -> do-          poke (pUint32 :: Ptr Word32) (e0)-          poke (pUint32 `plusPtr` 4 :: Ptr Word32) (e1)-          poke (pUint32 `plusPtr` 8 :: Ptr Word32) (e2)-          poke (pUint32 `plusPtr` 12 :: Ptr Word32) (e3)-  pokeZeroCStruct :: Ptr ClearColorValue -> IO b -> IO b-  pokeZeroCStruct _ f = f-  cStructSize = 16-  cStructAlignment = 4--instance Zero ClearColorValue where-  zero = Float32 (zero, zero, zero, zero)---data ClearValue-  = Color ClearColorValue-  | DepthStencil ClearDepthStencilValue-  deriving (Show)--instance ToCStruct ClearValue where-  withCStruct x f = allocaBytesAligned 16 4 $ \p -> pokeCStruct p x (f p)-  pokeCStruct :: Ptr ClearValue -> ClearValue -> IO a -> IO a-  pokeCStruct p = (. const) . runContT .  \case-    Color v -> ContT $ pokeCStruct (castPtr @_ @ClearColorValue p) (v) . ($ ())-    DepthStencil v -> ContT $ pokeCStruct (castPtr @_ @ClearDepthStencilValue p) (v) . ($ ())-  pokeZeroCStruct :: Ptr ClearValue -> IO b -> IO b-  pokeZeroCStruct _ f = f-  cStructSize = 16-  cStructAlignment = 4--instance Zero ClearValue where-  zero = Color zero-
− src/Vulkan/Core10/SharedTypes.hs-boot
@@ -1,72 +0,0 @@-{-# language CPP #-}-module Vulkan.Core10.SharedTypes  ( ClearDepthStencilValue-                                  , Extent2D-                                  , Extent3D-                                  , ImageSubresourceLayers-                                  , ImageSubresourceRange-                                  , Offset2D-                                  , Offset3D-                                  , ClearColorValue-                                  ) where--import Data.Kind (Type)-import Vulkan.CStruct (FromCStruct)-import Vulkan.CStruct (ToCStruct)-data ClearDepthStencilValue--instance ToCStruct ClearDepthStencilValue-instance Show ClearDepthStencilValue--instance FromCStruct ClearDepthStencilValue---data Extent2D--instance ToCStruct Extent2D-instance Show Extent2D--instance FromCStruct Extent2D---data Extent3D--instance ToCStruct Extent3D-instance Show Extent3D--instance FromCStruct Extent3D---data ImageSubresourceLayers--instance ToCStruct ImageSubresourceLayers-instance Show ImageSubresourceLayers--instance FromCStruct ImageSubresourceLayers---data ImageSubresourceRange--instance ToCStruct ImageSubresourceRange-instance Show ImageSubresourceRange--instance FromCStruct ImageSubresourceRange---data Offset2D--instance ToCStruct Offset2D-instance Show Offset2D--instance FromCStruct Offset2D---data Offset3D--instance ToCStruct Offset3D-instance Show Offset3D--instance FromCStruct Offset3D---data ClearColorValue-
src/Vulkan/Core10/SparseResourceMemoryManagement.hs view
@@ -4,12 +4,19 @@                                                      , queueBindSparse                                                      , SparseImageFormatProperties(..)                                                      , SparseImageMemoryRequirements(..)+                                                     , ImageSubresource(..)                                                      , SparseMemoryBind(..)                                                      , SparseImageMemoryBind(..)                                                      , SparseBufferMemoryBindInfo(..)                                                      , SparseImageOpaqueMemoryBindInfo(..)                                                      , SparseImageMemoryBindInfo(..)                                                      , BindSparseInfo(..)+                                                     , ImageAspectFlagBits(..)+                                                     , ImageAspectFlags+                                                     , SparseImageFormatFlagBits(..)+                                                     , SparseImageFormatFlags+                                                     , SparseMemoryBindFlagBits(..)+                                                     , SparseMemoryBindFlags                                                      ) where  import Control.Exception.Base (bracket)@@ -58,12 +65,12 @@ import Vulkan.Dynamic (DeviceCmds(pVkQueueBindSparse)) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group (DeviceGroupBindSparseInfo) import Vulkan.Core10.Handles (DeviceMemory)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))-import Vulkan.Core10.SharedTypes (Extent3D)+import Vulkan.Core10.FundamentalTypes (Extent3D) import Vulkan.Core10.Handles (Fence) import Vulkan.Core10.Handles (Fence(..)) import Vulkan.Core10.Enums.Format (Format)@@ -73,7 +80,6 @@ import Vulkan.Core10.Handles (Image) import Vulkan.Core10.Handles (Image(..)) import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags)-import Vulkan.Core10.Image (ImageSubresource) import Vulkan.Core10.Enums.ImageTiling (ImageTiling) import Vulkan.Core10.Enums.ImageTiling (ImageTiling(..)) import Vulkan.Core10.Enums.ImageType (ImageType)@@ -81,7 +87,7 @@ import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlagBits(..)) import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags) import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceSparseImageFormatProperties))-import Vulkan.Core10.SharedTypes (Offset3D)+import Vulkan.Core10.FundamentalTypes (Offset3D) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.Core10.Handles (PhysicalDevice)@@ -108,6 +114,12 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BIND_SPARSE_INFO)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlagBits(..))+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags)+import Vulkan.Core10.Enums.SparseImageFormatFlagBits (SparseImageFormatFlagBits(..))+import Vulkan.Core10.Enums.SparseImageFormatFlagBits (SparseImageFormatFlags)+import Vulkan.Core10.Enums.SparseMemoryBindFlagBits (SparseMemoryBindFlagBits(..))+import Vulkan.Core10.Enums.SparseMemoryBindFlagBits (SparseMemoryBindFlags) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -462,7 +474,7 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent3D',+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags', -- 'Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlags', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.SparseImageFormatProperties2',@@ -520,7 +532,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize', 'SparseImageFormatProperties',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'SparseImageFormatProperties', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2', -- 'getImageSparseMemoryRequirements' data SparseImageMemoryRequirements = SparseImageMemoryRequirements@@ -589,6 +602,71 @@            zero  +-- | VkImageSubresource - Structure specifying an image subresource+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',+-- 'SparseImageMemoryBind', 'Vulkan.Core10.Image.getImageSubresourceLayout'+data ImageSubresource = ImageSubresource+  { -- | @aspectMask@ is a+    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags' selecting the+    -- image /aspect/.+    --+    -- @aspectMask@ /must/ be a valid combination of+    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' values+    --+    -- @aspectMask@ /must/ not be @0@+    aspectMask :: ImageAspectFlags+  , -- | @mipLevel@ selects the mipmap level.+    mipLevel :: Word32+  , -- | @arrayLayer@ selects the array layer.+    arrayLayer :: Word32+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (ImageSubresource)+#endif+deriving instance Show ImageSubresource++instance ToCStruct ImageSubresource where+  withCStruct x f = allocaBytesAligned 12 4 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p ImageSubresource{..} f = do+    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (aspectMask)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (mipLevel)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (arrayLayer)+    f+  cStructSize = 12+  cStructAlignment = 4+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr ImageAspectFlags)) (zero)+    poke ((p `plusPtr` 4 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)+    f++instance FromCStruct ImageSubresource where+  peekCStruct p = do+    aspectMask <- peek @ImageAspectFlags ((p `plusPtr` 0 :: Ptr ImageAspectFlags))+    mipLevel <- peek @Word32 ((p `plusPtr` 4 :: Ptr Word32))+    arrayLayer <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))+    pure $ ImageSubresource+             aspectMask mipLevel arrayLayer++instance Storable ImageSubresource where+  sizeOf ~_ = 12+  alignment ~_ = 4+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero ImageSubresource where+  zero = ImageSubresource+           zero+           zero+           zero++ -- | VkSparseMemoryBind - Structure specifying a sparse memory bind operation -- -- = Description@@ -671,8 +749,8 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize', 'SparseBufferMemoryBindInfo',--- 'SparseImageOpaqueMemoryBindInfo',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'SparseBufferMemoryBindInfo', 'SparseImageOpaqueMemoryBindInfo', -- 'Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlags' data SparseMemoryBind = SparseMemoryBind   { -- | @resourceOffset@ is the offset into the resource.@@ -796,8 +874,7 @@ -- -- == Valid Usage (Implicit) ----- -   @subresource@ /must/ be a valid---     'Vulkan.Core10.Image.ImageSubresource' structure+-- -   @subresource@ /must/ be a valid 'ImageSubresource' structure -- -- -   If @memory@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', --     @memory@ /must/ be a valid 'Vulkan.Core10.Handles.DeviceMemory'@@ -810,10 +887,9 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize',--- 'Vulkan.Core10.SharedTypes.Extent3D',--- 'Vulkan.Core10.Image.ImageSubresource',--- 'Vulkan.Core10.SharedTypes.Offset3D', 'SparseImageMemoryBindInfo',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresource',+-- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'SparseImageMemoryBindInfo', -- 'Vulkan.Core10.Enums.SparseMemoryBindFlagBits.SparseMemoryBindFlags' data SparseImageMemoryBind = SparseImageMemoryBind   { -- | @subresource@ is the image /aspect/ and region of interest in the image.@@ -1187,7 +1263,7 @@ -- 'SparseImageMemoryBindInfo', 'SparseImageOpaqueMemoryBindInfo', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'queueBindSparse' data BindSparseInfo (es :: [Type]) = BindSparseInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @pWaitSemaphores@ is a pointer to an array of semaphores upon which to     -- wait on before the sparse binding operations for this batch begin
src/Vulkan/Core10/SparseResourceMemoryManagement.hs-boot view
@@ -1,5 +1,6 @@ {-# language CPP #-} module Vulkan.Core10.SparseResourceMemoryManagement  ( BindSparseInfo+                                                     , ImageSubresource                                                      , SparseBufferMemoryBindInfo                                                      , SparseImageFormatProperties                                                      , SparseImageMemoryBind@@ -23,6 +24,14 @@ instance Show (Chain es) => Show (BindSparseInfo es)  instance (Extendss BindSparseInfo es, PeekChain es) => FromCStruct (BindSparseInfo es)+++data ImageSubresource++instance ToCStruct ImageSubresource+instance Show ImageSubresource++instance FromCStruct ImageSubresource   data SparseBufferMemoryBindInfo
src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkCommandPoolTrimFlags - Reserved for future use --
src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs view
@@ -14,7 +14,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDescriptorUpdateTemplateCreateFlags - Reserved for future use --
src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs view
@@ -19,7 +19,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkExternalFenceFeatureFlagBits - Bitfield describing features of an -- external fence handle type
src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs view
@@ -21,7 +21,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkExternalFenceHandleTypeFlagBits - Bitmask of valid external fence -- handle types
src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs view
@@ -20,7 +20,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkExternalMemoryFeatureFlagBits - Bitmask specifying features of an -- external memory handle type
src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs view
@@ -28,7 +28,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkExternalMemoryHandleTypeFlagBits - Bit specifying external memory -- handle types@@ -160,8 +160,9 @@ -- invalid if the host memory is freed. pattern EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = ExternalMemoryHandleTypeFlagBits 0x00000080 -- | 'EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID'--- specifies an 'Vulkan.Extensions.WSITypes.AHardwareBuffer' object defined--- by the Android NDK. See+-- specifies an+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AHardwareBuffer'+-- object defined by the Android NDK. See -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-external-android-hardware-buffer Android Hardware Buffers> -- for more details of this handle type. pattern EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = ExternalMemoryHandleTypeFlagBits 0x00000400
src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs view
@@ -19,7 +19,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkExternalSemaphoreFeatureFlagBits - Bitfield describing features of an -- external semaphore handle type
src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs view
@@ -22,7 +22,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkExternalSemaphoreHandleTypeFlagBits - Bitmask of valid external -- semaphore handle types
src/Vulkan/Core11/Enums/FenceImportFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkFenceImportFlagBits - Bitmask specifying additional parameters of -- fence payload import
src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs view
@@ -20,7 +20,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkMemoryAllocateFlagBits - Bitmask specifying flags for a device memory -- allocation
src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs view
@@ -21,7 +21,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkPeerMemoryFeatureFlagBits - Bitmask specifying supported peer memory -- features
src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSemaphoreImportFlagBits - Bitmask specifying additional parameters of -- semaphore payload import
src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs view
@@ -26,7 +26,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSubgroupFeatureFlagBits - Enum describing what group operations are -- supported with subgroup scope
src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs view
@@ -45,9 +45,9 @@ import Data.Word (Word32) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceQueue2))@@ -126,14 +126,14 @@ -- == Valid Usage -- -- -   If the protected memory feature is not enabled, @protectedSubmit@---     /must/ not be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ not be 'Vulkan.Core10.FundamentalTypes.TRUE' ----- -   If @protectedSubmit@ is 'Vulkan.Core10.BaseType.TRUE', then each---     element of the @pCommandBuffers@ array /must/ be a protected command---     buffer+-- -   If @protectedSubmit@ is 'Vulkan.Core10.FundamentalTypes.TRUE', then+--     each element of the @pCommandBuffers@ array /must/ be a protected+--     command buffer ----- -   If @protectedSubmit@ is 'Vulkan.Core10.BaseType.FALSE', then each---     element of the @pCommandBuffers@ array /must/ be an unprotected+-- -   If @protectedSubmit@ is 'Vulkan.Core10.FundamentalTypes.FALSE', then+--     each element of the @pCommandBuffers@ array /must/ be an unprotected --     command buffer -- -- -   If the 'Vulkan.Core10.Queue.SubmitInfo'::@pNext@ chain does not@@ -148,14 +148,15 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data ProtectedSubmitInfo = ProtectedSubmitInfo   { -- | @protectedSubmit@ specifies whether the batch is protected. If-    -- @protectedSubmit@ is 'Vulkan.Core10.BaseType.TRUE', the batch is-    -- protected. If @protectedSubmit@ is 'Vulkan.Core10.BaseType.FALSE', the-    -- batch is unprotected. If the 'Vulkan.Core10.Queue.SubmitInfo'::@pNext@-    -- chain does not include this structure, the batch is unprotected.+    -- @protectedSubmit@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the batch is+    -- protected. If @protectedSubmit@ is+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', the batch is unprotected. If the+    -- 'Vulkan.Core10.Queue.SubmitInfo'::@pNext@ chain does not include this+    -- structure, the batch is unprotected.     protectedSubmit :: Bool }   deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)@@ -209,7 +210,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceProtectedMemoryFeatures = PhysicalDeviceProtectedMemoryFeatures   { -- | @protectedMemory@ specifies whether protected memory is supported.@@ -267,14 +268,14 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceProtectedMemoryProperties = PhysicalDeviceProtectedMemoryProperties   { -- | @protectedNoFault@ specifies the behavior of the implementation when     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-protected-access-rules protected memory access rules>-    -- are broken. If @protectedNoFault@ is 'Vulkan.Core10.BaseType.TRUE',-    -- breaking those rules will not result in process termination or device-    -- loss.+    -- are broken. If @protectedNoFault@ is+    -- 'Vulkan.Core10.FundamentalTypes.TRUE', breaking those rules will not+    -- result in process termination or device loss.     protectedNoFault :: Bool }   deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)
src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs view
@@ -17,9 +17,9 @@ import Foreign.Ptr (Ptr) import Data.Word (Word32) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlags)@@ -55,7 +55,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlags'
src/Vulkan/Core11/Promoted_From_VK_KHR_16bit_storage.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -32,7 +32,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDevice16BitStorageFeatures = PhysicalDevice16BitStorageFeatures   { -- | @storageBuffer16BitAccess@ specifies whether objects in the
src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs view
@@ -49,7 +49,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkBindBufferMemory2)) import Vulkan.Dynamic (DeviceCmds(pVkBindImageMemory2)) import Vulkan.Core10.Handles (DeviceMemory)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss)@@ -249,8 +249,8 @@ -- -- -   If @buffer@ was created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV'::@dedicatedAllocation@---     equal to 'Vulkan.Core10.BaseType.TRUE', @memory@ /must/ have been---     created with+--     equal to 'Vulkan.Core10.FundamentalTypes.TRUE', @memory@ /must/ have+--     been created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV'::@buffer@ --     equal to @buffer@ and @memoryOffset@ /must/ be zero --@@ -312,11 +312,11 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'bindBufferMemory2', -- 'Vulkan.Extensions.VK_KHR_bind_memory2.bindBufferMemory2KHR' data BindBufferMemoryInfo (es :: [Type]) = BindBufferMemoryInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @buffer@ is the buffer to be attached to memory.     buffer :: Buffer@@ -517,8 +517,8 @@ -- -- -   If @image@ was created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV'::@dedicatedAllocation@---     equal to 'Vulkan.Core10.BaseType.TRUE', @memory@ /must/ have been---     created with+--     equal to 'Vulkan.Core10.FundamentalTypes.TRUE', @memory@ /must/ have+--     been created with --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV'::@image@ --     equal to @image@ and @memoryOffset@ /must/ be zero --@@ -613,11 +613,12 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize', 'Vulkan.Core10.Handles.Image',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Handles.Image', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'bindImageMemory2', -- 'Vulkan.Extensions.VK_KHR_bind_memory2.bindImageMemory2KHR' data BindImageMemoryInfo (es :: [Type]) = BindImageMemoryInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @image@ is the image to be attached to memory.     image :: Image
src/Vulkan/Core11/Promoted_From_VK_KHR_dedicated_allocation.hs view
@@ -15,9 +15,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Buffer) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -35,8 +35,8 @@ -- = Description -- -- When the implementation sets @requiresDedicatedAllocation@ to--- 'Vulkan.Core10.BaseType.TRUE', it /must/ also set--- @prefersDedicatedAllocation@ to 'Vulkan.Core10.BaseType.TRUE'.+-- 'Vulkan.Core10.FundamentalTypes.TRUE', it /must/ also set+-- @prefersDedicatedAllocation@ to 'Vulkan.Core10.FundamentalTypes.TRUE'. -- -- If the 'MemoryDedicatedRequirements' structure is included in the -- @pNext@ chain of the@@ -44,7 +44,8 @@ -- structure passed as the @pMemoryRequirements@ parameter of a -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.getBufferMemoryRequirements2' -- call, @requiresDedicatedAllocation@ /may/ be--- 'Vulkan.Core10.BaseType.TRUE' under one of the following conditions:+-- 'Vulkan.Core10.FundamentalTypes.TRUE' under one of the following+-- conditions: -- -- -   The @pNext@ chain of 'Vulkan.Core10.Buffer.BufferCreateInfo' for the --     call to 'Vulkan.Core10.Buffer.createBuffer' used to create the@@ -57,10 +58,10 @@ --     in --     'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalBufferProperties'::@externalMemoryProperties.externalMemoryFeatures@, --     the @requiresDedicatedAllocation@ field will be set to---     'Vulkan.Core10.BaseType.TRUE'.+--     'Vulkan.Core10.FundamentalTypes.TRUE'. -- -- In all other cases, @requiresDedicatedAllocation@ /must/ be set to--- 'Vulkan.Core10.BaseType.FALSE' by the implementation whenever a+-- 'Vulkan.Core10.FundamentalTypes.FALSE' by the implementation whenever a -- 'MemoryDedicatedRequirements' structure is included in the @pNext@ chain -- of the -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2'@@ -77,7 +78,7 @@ -- was set in 'Vulkan.Core10.Buffer.BufferCreateInfo'::@flags@ when -- @buffer@ was created then the implementation /must/ set both -- @prefersDedicatedAllocation@ and @requiresDedicatedAllocation@ to--- 'Vulkan.Core10.BaseType.FALSE'.+-- 'Vulkan.Core10.FundamentalTypes.FALSE'. -- -- If the 'MemoryDedicatedRequirements' structure is included in the -- @pNext@ chain of the@@ -85,7 +86,8 @@ -- structure passed as the @pMemoryRequirements@ parameter of a -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.getImageMemoryRequirements2' -- call, @requiresDedicatedAllocation@ /may/ be--- 'Vulkan.Core10.BaseType.TRUE' under one of the following conditions:+-- 'Vulkan.Core10.FundamentalTypes.TRUE' under one of the following+-- conditions: -- -- -   The @pNext@ chain of 'Vulkan.Core10.Image.ImageCreateInfo' for the --     call to 'Vulkan.Core10.Image.createImage' used to create the image@@ -98,10 +100,10 @@ --     in --     'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalImageFormatProperties'::@externalMemoryProperties.externalMemoryFeatures@, --     the @requiresDedicatedAllocation@ field will be set to---     'Vulkan.Core10.BaseType.TRUE'.+--     'Vulkan.Core10.FundamentalTypes.TRUE'. -- -- In all other cases, @requiresDedicatedAllocation@ /must/ be set to--- 'Vulkan.Core10.BaseType.FALSE' by the implementation whenever a+-- 'Vulkan.Core10.FundamentalTypes.FALSE' by the implementation whenever a -- 'MemoryDedicatedRequirements' structure is included in the @pNext@ chain -- of the -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2'@@ -118,7 +120,7 @@ -- was set in 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ when @image@ -- was created then the implementation /must/ set both -- @prefersDedicatedAllocation@ and @requiresDedicatedAllocation@ to--- 'Vulkan.Core10.BaseType.FALSE'.+-- 'Vulkan.Core10.FundamentalTypes.FALSE'. -- -- == Valid Usage (Implicit) --@@ -127,7 +129,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data MemoryDedicatedRequirements = MemoryDedicatedRequirements   { -- | @prefersDedicatedAllocation@ specifies that the implementation would
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -65,7 +65,7 @@ import Vulkan.Core11.Enums.MemoryAllocateFlagBits (MemoryAllocateFlags) import Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits (PeerMemoryFeatureFlagBits(..)) import Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits (PeerMemoryFeatureFlags)-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -493,8 +493,8 @@ -- consume memory on all physical devices even if the @deviceMask@ excludes -- some devices. If -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties'::@subsetAllocation@--- is 'Vulkan.Core10.BaseType.TRUE', then memory is only consumed for the--- devices in the device mask.+-- is 'Vulkan.Core10.FundamentalTypes.TRUE', then memory is only consumed+-- for the devices in the device mask. -- -- Note --@@ -628,18 +628,18 @@ -- -- -   If @deviceRenderAreaCount@ is not @0@, @pDeviceRenderAreas@ /must/ --     be a valid pointer to an array of @deviceRenderAreaCount@---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures+--     'Vulkan.Core10.FundamentalTypes.Rect2D' structures -- -- = See Also ----- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data DeviceGroupRenderPassBeginInfo = DeviceGroupRenderPassBeginInfo   { -- | @deviceMask@ is the device mask for the render pass instance.     deviceMask :: Word32   , -- | @pDeviceRenderAreas@ is a pointer to an array of-    -- 'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures defining the-    -- render area for each physical device.+    -- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures defining the render+    -- area for each physical device.     deviceRenderAreas :: Vector Rect2D   }   deriving (Typeable)
src/Vulkan/Core11/Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.hs view
@@ -26,7 +26,7 @@ import Vulkan.CStruct.Utils (advancePtrBytes) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -53,7 +53,8 @@ -- -- -   @sType@ is the type of this structure. ----- -   @pNext@ is @NULL@ or a pointer to an extension-specific structure.+-- -   @pNext@ is @NULL@ or a pointer to a structure extending this+--     structure. -- -- -   @deviceIndexCount@ is the number of elements in @pDeviceIndices@. --@@ -155,7 +156,8 @@ -- -- -   @sType@ is the type of this structure. ----- -   @pNext@ is @NULL@ or a pointer to an extension-specific structure.+-- -   @pNext@ is @NULL@ or a pointer to a structure extending this+--     structure. -- -- -   @deviceIndexCount@ is the number of elements in @pDeviceIndices@. --@@ -165,8 +167,8 @@ --     @pSplitInstanceBindRegions@. -- -- -   @pSplitInstanceBindRegions@ is a pointer to an array of---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures describing---     which regions of the image are attached to each instance of memory.+--     'Vulkan.Core10.FundamentalTypes.Rect2D' structures describing which+--     regions of the image are attached to each instance of memory. -- -- If @deviceIndexCount@ is greater than zero, then on device index i -- @image@ is attached to the instance of the memory on the physical device@@ -249,11 +251,11 @@ -- -   If @splitInstanceBindRegionCount@ is not @0@, --     @pSplitInstanceBindRegions@ /must/ be a valid pointer to an array of --     @splitInstanceBindRegionCount@---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures+--     'Vulkan.Core10.FundamentalTypes.Rect2D' structures -- -- = See Also ----- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data BindImageMemoryDeviceGroupInfo = BindImageMemoryDeviceGroupInfo   { -- No documentation found for Nested "VkBindImageMemoryDeviceGroupInfo" "pDeviceIndices"
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group_creation.hs view
@@ -42,11 +42,11 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -162,7 +162,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.Handles.PhysicalDevice',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Handles.PhysicalDevice', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'enumeratePhysicalDeviceGroups', -- 'Vulkan.Extensions.VK_KHR_device_group_creation.enumeratePhysicalDeviceGroupsKHR'@@ -179,10 +180,10 @@     -- group support allocating device memory on a subset of devices, via the     -- @deviceMask@ member of the     -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo'.-    -- If this is 'Vulkan.Core10.BaseType.FALSE', then all device memory-    -- allocations are made across all physical devices in the group. If+    -- If this is 'Vulkan.Core10.FundamentalTypes.FALSE', then all device+    -- memory allocations are made across all physical devices in the group. If     -- @physicalDeviceCount@ is @1@, then @subsetAllocation@ /must/ be-    -- 'Vulkan.Core10.BaseType.FALSE'.+    -- 'Vulkan.Core10.FundamentalTypes.FALSE'.     subsetAllocation :: Bool   }   deriving (Typeable)
src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs view
@@ -41,11 +41,11 @@ import Data.ByteString (ByteString) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Utils (peekByteStringFromSizedVectorPtr) import Vulkan.CStruct.Utils (pokeFixedLengthByteString)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Enums.BufferCreateFlagBits (BufferCreateFlags) import Vulkan.Core10.Enums.BufferUsageFlagBits (BufferUsageFlags) import Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits (ExternalMemoryFeatureFlags)@@ -471,9 +471,9 @@ --     within a linked device adapter corresponding to the device. -- -- -   @deviceLUIDValid@ is a boolean value that will be---     'Vulkan.Core10.BaseType.TRUE' if @deviceLUID@ contains a valid LUID---     and @deviceNodeMask@ contains a valid node mask, and---     'Vulkan.Core10.BaseType.FALSE' if they do not.+--     'Vulkan.Core10.FundamentalTypes.TRUE' if @deviceLUID@ contains a+--     valid LUID and @deviceNodeMask@ contains a valid node mask, and+--     'Vulkan.Core10.FundamentalTypes.FALSE' if they do not. -- -- @deviceUUID@ /must/ be immutable for a given device across instances, -- processes, driver APIs, driver versions, and system reboots.@@ -494,18 +494,19 @@ -- -- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#external-fence-handle-types-compatibility External fence handle types compatibility> ----- If @deviceLUIDValid@ is 'Vulkan.Core10.BaseType.FALSE', the values of--- @deviceLUID@ and @deviceNodeMask@ are undefined. If @deviceLUIDValid@ is--- 'Vulkan.Core10.BaseType.TRUE' and Vulkan is running on the Windows--- operating system, the contents of @deviceLUID@ /can/ be cast to an--- @LUID@ object and /must/ be equal to the locally unique identifier of a--- @IDXGIAdapter1@ object that corresponds to @physicalDevice@. If--- @deviceLUIDValid@ is 'Vulkan.Core10.BaseType.TRUE', @deviceNodeMask@--- /must/ contain exactly one bit. If Vulkan is running on an operating--- system that supports the Direct3D 12 API and @physicalDevice@--- corresponds to an individual device in a linked device adapter,--- @deviceNodeMask@ identifies the Direct3D 12 node corresponding to--- @physicalDevice@. Otherwise, @deviceNodeMask@ /must/ be @1@.+-- If @deviceLUIDValid@ is 'Vulkan.Core10.FundamentalTypes.FALSE', the+-- values of @deviceLUID@ and @deviceNodeMask@ are undefined. If+-- @deviceLUIDValid@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and Vulkan is+-- running on the Windows operating system, the contents of @deviceLUID@+-- /can/ be cast to an @LUID@ object and /must/ be equal to the locally+-- unique identifier of a @IDXGIAdapter1@ object that corresponds to+-- @physicalDevice@. If @deviceLUIDValid@ is+-- 'Vulkan.Core10.FundamentalTypes.TRUE', @deviceNodeMask@ /must/ contain+-- exactly one bit. If Vulkan is running on an operating system that+-- supports the Direct3D 12 API and @physicalDevice@ corresponds to an+-- individual device in a linked device adapter, @deviceNodeMask@+-- identifies the Direct3D 12 node corresponding to @physicalDevice@.+-- Otherwise, @deviceNodeMask@ /must/ be @1@. -- -- Note --@@ -539,7 +540,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceIDProperties = PhysicalDeviceIDProperties   { -- No documentation found for Nested "VkPhysicalDeviceIDProperties" "deviceUUID"
src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore_capabilities.hs view
@@ -135,7 +135,7 @@ -- 'getPhysicalDeviceExternalSemaphoreProperties', -- 'Vulkan.Extensions.VK_KHR_external_semaphore_capabilities.getPhysicalDeviceExternalSemaphorePropertiesKHR' data PhysicalDeviceExternalSemaphoreInfo (es :: [Type]) = PhysicalDeviceExternalSemaphoreInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @handleType@ is a     -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits'
src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs view
@@ -7,7 +7,6 @@                                                                     , ImageSparseMemoryRequirementsInfo2(..)                                                                     , MemoryRequirements2(..)                                                                     , SparseImageMemoryRequirements2(..)-                                                                    , MemoryRequirements2KHR                                                                     , StructureType(..)                                                                     ) where @@ -339,7 +338,7 @@ -- 'getImageMemoryRequirements2', -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getImageMemoryRequirements2KHR' data ImageMemoryRequirementsInfo2 (es :: [Type]) = ImageMemoryRequirementsInfo2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @image@ is the image to query.     image :: Image@@ -467,7 +466,7 @@ -- 'getImageMemoryRequirements2', -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getImageMemoryRequirements2KHR' data MemoryRequirements2 (es :: [Type]) = MemoryRequirements2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @memoryRequirements@ is a     -- 'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure describing@@ -565,8 +564,4 @@ instance Zero SparseImageMemoryRequirements2 where   zero = SparseImageMemoryRequirements2            zero----- No documentation found for TopLevel "VkMemoryRequirements2KHR"-type MemoryRequirements2KHR = MemoryRequirements2 
src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs-boot view
@@ -4,7 +4,6 @@                                                                     , ImageSparseMemoryRequirementsInfo2                                                                     , MemoryRequirements2                                                                     , SparseImageMemoryRequirements2-                                                                    , MemoryRequirements2KHR                                                                     ) where  import Data.Kind (Type)@@ -54,8 +53,4 @@ instance Show SparseImageMemoryRequirements2  instance FromCStruct SparseImageMemoryRequirements2----- No documentation found for TopLevel "VkMemoryRequirements2KHR"-type MemoryRequirements2KHR = MemoryRequirements2 
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -541,7 +541,7 @@ -- -- 'getPhysicalDeviceSparseImageFormatProperties2' behaves identically to -- 'Vulkan.Core10.SparseResourceMemoryManagement.getPhysicalDeviceSparseImageFormatProperties',--- with the ability to return extended information by adding extension+-- with the ability to return extended information by adding extending -- structures to the @pNext@ chain of its @pProperties@ parameter. -- -- == Valid Usage (Implicit)@@ -615,7 +615,7 @@ -- 'getPhysicalDeviceFeatures2', -- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2KHR' data PhysicalDeviceFeatures2 (es :: [Type]) = PhysicalDeviceFeatures2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @features@ is a     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures' structure@@ -797,7 +797,7 @@ -- 'getPhysicalDeviceProperties2', -- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2KHR' data PhysicalDeviceProperties2 (es :: [Type]) = PhysicalDeviceProperties2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @properties@ is a     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties' structure@@ -912,7 +912,7 @@ -- 'getPhysicalDeviceFormatProperties2', -- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceFormatProperties2KHR' data FormatProperties2 (es :: [Type]) = FormatProperties2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @formatProperties@ is a     -- 'Vulkan.Core10.DeviceInitialization.FormatProperties' structure@@ -1009,8 +1009,8 @@ -- 'getPhysicalDeviceImageFormatProperties2', -- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceImageFormatProperties2KHR' data ImageFormatProperties2 (es :: [Type]) = ImageFormatProperties2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure. The-    -- @pNext@ chain of 'ImageFormatProperties2' is used to allow the+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    -- The @pNext@ chain of 'ImageFormatProperties2' is used to allow the     -- specification of additional capabilities to be returned from     -- 'getPhysicalDeviceImageFormatProperties2'.     next :: Chain es@@ -1139,8 +1139,8 @@ -- 'getPhysicalDeviceImageFormatProperties2', -- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceImageFormatProperties2KHR' data PhysicalDeviceImageFormatInfo2 (es :: [Type]) = PhysicalDeviceImageFormatInfo2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure. The-    -- @pNext@ chain of 'PhysicalDeviceImageFormatInfo2' is used to provide+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    -- The @pNext@ chain of 'PhysicalDeviceImageFormatInfo2' is used to provide     -- additional image parameters to     -- 'getPhysicalDeviceImageFormatProperties2'.     next :: Chain es@@ -1253,7 +1253,7 @@ -- 'getPhysicalDeviceQueueFamilyProperties2', -- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceQueueFamilyProperties2KHR' data QueueFamilyProperties2 (es :: [Type]) = QueueFamilyProperties2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @queueFamilyProperties@ is a     -- 'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties' structure@@ -1328,7 +1328,7 @@ -- 'getPhysicalDeviceMemoryProperties2', -- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceMemoryProperties2KHR' data PhysicalDeviceMemoryProperties2 (es :: [Type]) = PhysicalDeviceMemoryProperties2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @memoryProperties@ is a     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties'
src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance3.hs view
@@ -31,17 +31,17 @@ import Data.Word (Word32) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core10.DescriptorSet (DescriptorSetLayoutCreateInfo) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (DescriptorSetVariableDescriptorCountLayoutSupport) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetDescriptorSetLayoutSupport))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss)@@ -79,7 +79,8 @@ -- This command returns information about whether a descriptor set -- satisfies this limit. If the descriptor set layout satisfies the -- 'PhysicalDeviceMaintenance3Properties'::@maxPerSetDescriptors@ limit,--- this command is guaranteed to return 'Vulkan.Core10.BaseType.TRUE' in+-- this command is guaranteed to return+-- 'Vulkan.Core10.FundamentalTypes.TRUE' in -- 'DescriptorSetLayoutSupport'::@supported@. If the descriptor set layout -- exceeds the -- 'PhysicalDeviceMaintenance3Properties'::@maxPerSetDescriptors@ limit,@@ -151,7 +152,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceMaintenance3Properties = PhysicalDeviceMaintenance3Properties   { -- | @maxPerSetDescriptors@ is a maximum number of descriptors (summed over@@ -213,8 +214,9 @@ -- -- = Description ----- @supported@ is set to 'Vulkan.Core10.BaseType.TRUE' if the descriptor--- set /can/ be created, or else is set to 'Vulkan.Core10.BaseType.FALSE'.+-- @supported@ is set to 'Vulkan.Core10.FundamentalTypes.TRUE' if the+-- descriptor set /can/ be created, or else is set to+-- 'Vulkan.Core10.FundamentalTypes.FALSE'. -- -- == Valid Usage (Implicit) --@@ -229,12 +231,12 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'getDescriptorSetLayoutSupport', -- 'Vulkan.Extensions.VK_KHR_maintenance3.getDescriptorSetLayoutSupportKHR' data DescriptorSetLayoutSupport (es :: [Type]) = DescriptorSetLayoutSupport-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @supported@ specifies whether the descriptor set layout /can/ be     -- created.
src/Vulkan/Core11/Promoted_From_VK_KHR_multiview.hs view
@@ -28,9 +28,9 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -93,7 +93,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceMultiviewFeatures = PhysicalDeviceMultiviewFeatures   { -- No documentation found for Nested "VkPhysicalDeviceMultiviewFeatures" "multiview"
src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs view
@@ -53,12 +53,12 @@ import Data.Word (Word32) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core11.Enums.ChromaLocation (ChromaLocation) import Vulkan.Core10.ImageView (ComponentMapping)@@ -327,14 +327,15 @@ -- -- Note ----- Setting @forceExplicitReconstruction@ to 'Vulkan.Core10.BaseType.TRUE'--- /may/ have a performance penalty on implementations where explicit--- reconstruction is not the default mode of operation.+-- Setting @forceExplicitReconstruction@ to+-- 'Vulkan.Core10.FundamentalTypes.TRUE' /may/ have a performance penalty+-- on implementations where explicit reconstruction is not the default mode+-- of operation. -- -- If @format@ supports -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT' -- the @forceExplicitReconstruction@ value behaves as if it was set to--- 'Vulkan.Core10.BaseType.TRUE'.+-- 'Vulkan.Core10.FundamentalTypes.TRUE'. -- -- If the @pNext@ chain includes a -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID'@@ -349,9 +350,12 @@ -- == Valid Usage -- -- -   If an external format conversion is being created, @format@ /must/---     be 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED', otherwise it---     /must/ not be 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'+--     be 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED' --+-- -   If an external format conversion is not being created, @format@+--     /must/ represent unsigned normalized values (i.e. the format must be+--     a @UNORM@ format)+-- -- -   The --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features> --     /must/ support@@ -421,7 +425,7 @@ --     do not support --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT' --     @forceExplicitReconstruction@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features>@@ -473,7 +477,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation', -- 'Vulkan.Core10.ImageView.ComponentMapping', -- 'Vulkan.Core10.Enums.Filter.Filter',@@ -484,7 +488,7 @@ -- 'createSamplerYcbcrConversion', -- 'Vulkan.Extensions.VK_KHR_sampler_ycbcr_conversion.createSamplerYcbcrConversionKHR' data SamplerYcbcrConversionCreateInfo (es :: [Type]) = SamplerYcbcrConversionCreateInfo-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @format@ is the format of the image from which color information will be     -- retrieved.@@ -765,14 +769,14 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceSamplerYcbcrConversionFeatures = PhysicalDeviceSamplerYcbcrConversionFeatures   { -- | @samplerYcbcrConversion@ specifies whether the implementation supports     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>.-    -- If @samplerYcbcrConversion@ is 'Vulkan.Core10.BaseType.FALSE', sampler-    -- Y′CBCR conversion is not supported, and samplers using sampler Y′CBCR-    -- conversion /must/ not be used.+    -- If @samplerYcbcrConversion@ is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- sampler Y′CBCR conversion is not supported, and samplers using sampler+    -- Y′CBCR conversion /must/ not be used.     samplerYcbcrConversion :: Bool }   deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)
src/Vulkan/Core11/Promoted_From_VK_KHR_shader_draw_parameters.hs view
@@ -16,9 +16,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -46,7 +46,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderDrawParametersFeatures = PhysicalDeviceShaderDrawParametersFeatures   { -- | @shaderDrawParameters@ specifies whether shader draw parameters are
src/Vulkan/Core11/Promoted_From_VK_KHR_variable_pointers.hs view
@@ -16,9 +16,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -72,7 +72,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceVariablePointersFeatures = PhysicalDeviceVariablePointersFeatures   { -- No documentation found for Nested "VkPhysicalDeviceVariablePointersFeatures" "variablePointersStorageBuffer"
src/Vulkan/Core12.hs view
@@ -71,15 +71,15 @@ import Data.ByteString (ByteString) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.CStruct.Utils (peekByteStringFromSizedVectorPtr) import Vulkan.CStruct.Utils (pokeFixedLengthByteString) import Vulkan.CStruct.Utils (pokeFixedLengthNullTerminatedByteString)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (ConformanceVersion)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core12.Enums.DriverId (DriverId) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -128,7 +128,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceVulkan11Features = PhysicalDeviceVulkan11Features   { -- | @storageBuffer16BitAccess@ specifies whether objects in the@@ -193,9 +193,9 @@     protectedMemory :: Bool   , -- | @samplerYcbcrConversion@ specifies whether the implementation supports     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>.-    -- If @samplerYcbcrConversion@ is 'Vulkan.Core10.BaseType.FALSE', sampler-    -- Y′CBCR conversion is not supported, and samplers using sampler Y′CBCR-    -- conversion /must/ not be used.+    -- If @samplerYcbcrConversion@ is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- sampler Y′CBCR conversion is not supported, and samplers using sampler+    -- Y′CBCR conversion /must/ not be used.     samplerYcbcrConversion :: Bool   , -- | @shaderDrawParameters@ specifies whether shader draw parameters are     -- supported.@@ -302,7 +302,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior', -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType',@@ -324,9 +325,9 @@     -- linked device adapter corresponding to the device.     deviceNodeMask :: Word32   , -- | @deviceLUIDValid@ is a boolean value that will be-    -- 'Vulkan.Core10.BaseType.TRUE' if @deviceLUID@ contains a valid LUID and-    -- @deviceNodeMask@ contains a valid node mask, and-    -- 'Vulkan.Core10.BaseType.FALSE' if they do not.+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if @deviceLUID@ contains a valid+    -- LUID and @deviceNodeMask@ contains a valid node mask, and+    -- 'Vulkan.Core10.FundamentalTypes.FALSE' if they do not.     deviceLUIDValid :: Bool   , -- | @subgroupSize@ is the default number of invocations in each subgroup.     -- @subgroupSize@ is at least 1 if any of the physical device’s queues@@ -369,9 +370,9 @@     maxMultiviewInstanceIndex :: Word32   , -- | @protectedNoFault@ specifies the behavior of the implementation when     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-protected-access-rules protected memory access rules>-    -- are broken. If @protectedNoFault@ is 'Vulkan.Core10.BaseType.TRUE',-    -- breaking those rules will not result in process termination or device-    -- loss.+    -- are broken. If @protectedNoFault@ is+    -- 'Vulkan.Core10.FundamentalTypes.TRUE', breaking those rules will not+    -- result in process termination or device loss.     protectedNoFault :: Bool   , -- | @maxPerSetDescriptors@ is a maximum number of descriptors (summed over     -- all descriptor types) in a single descriptor set that is guaranteed to@@ -837,12 +838,14 @@ --     built-in decoration /must/ not be used on outputs in vertex or --     tessellation evaluation shaders. ----- -   If @subgroupBroadcastDynamicId@ is 'Vulkan.Core10.BaseType.TRUE',---     the “Id” operand of @OpGroupNonUniformBroadcast@ /can/ be---     dynamically uniform within a subgroup, and the “Index” operand of+-- -   If @subgroupBroadcastDynamicId@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', the “Id” operand of+--     @OpGroupNonUniformBroadcast@ /can/ be dynamically uniform within a+--     subgroup, and the “Index” operand of --     @OpGroupNonUniformQuadBroadcast@ /can/ be dynamically uniform within---     the derivative group. If it is 'Vulkan.Core10.BaseType.FALSE', these---     operands /must/ be constants.+--     the derivative group. If it is+--     'Vulkan.Core10.FundamentalTypes.FALSE', these operands /must/ be+--     constants. -- -- If the 'PhysicalDeviceVulkan12Features' structure is included in the -- @pNext@ chain of@@ -858,7 +861,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceVulkan12Features = PhysicalDeviceVulkan12Features   { -- No documentation found for Nested "VkPhysicalDeviceVulkan12Features" "samplerMirrorClampToEdge"@@ -1197,7 +1200,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion', -- 'Vulkan.Core12.Enums.DriverId.DriverId', -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlags',@@ -1324,38 +1327,38 @@     maxUpdateAfterBindDescriptorsInAllPools :: Word32   , -- | @shaderUniformBufferArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether uniform buffer descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of uniform buffers /may/ execute multiple times in order to access-    -- all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of uniform buffers /may/ execute multiple times in+    -- order to access all the descriptors.     shaderUniformBufferArrayNonUniformIndexingNative :: Bool   , -- | @shaderSampledImageArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether sampler and image descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of samplers or images /may/ execute multiple times in order to-    -- access all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of samplers or images /may/ execute multiple times in+    -- order to access all the descriptors.     shaderSampledImageArrayNonUniformIndexingNative :: Bool   , -- | @shaderStorageBufferArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether storage buffer descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of storage buffers /may/ execute multiple times in order to access-    -- all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of storage buffers /may/ execute multiple times in+    -- order to access all the descriptors.     shaderStorageBufferArrayNonUniformIndexingNative :: Bool   , -- | @shaderStorageImageArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether storage image descriptors natively support nonuniform-    -- indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a single-    -- dynamic instance of an instruction that nonuniformly indexes an array of-    -- storage images /may/ execute multiple times in order to access all the-    -- descriptors.+    -- indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE', then a+    -- single dynamic instance of an instruction that nonuniformly indexes an+    -- array of storage images /may/ execute multiple times in order to access+    -- all the descriptors.     shaderStorageImageArrayNonUniformIndexingNative :: Bool   , -- | @shaderInputAttachmentArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether input attachment descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of input attachments /may/ execute multiple times in order to-    -- access all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of input attachments /may/ execute multiple times in+    -- order to access all the descriptors.     shaderInputAttachmentArrayNonUniformIndexingNative :: Bool   , -- | @robustBufferAccessUpdateAfterBind@ is a boolean value indicating     -- whether@@ -1365,8 +1368,8 @@     -- @descriptorBindingStorageBufferUpdateAfterBind@,     -- @descriptorBindingUniformTexelBufferUpdateAfterBind@, and\/or     -- @descriptorBindingStorageTexelBufferUpdateAfterBind@. If this is-    -- 'Vulkan.Core10.BaseType.FALSE', then either @robustBufferAccess@ /must/-    -- be disabled or all of these update-after-bind features /must/ be+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', then either @robustBufferAccess@+    -- /must/ be disabled or all of these update-after-bind features /must/ be     -- disabled.     robustBufferAccessUpdateAfterBind :: Bool   , -- | @quadDivergentImplicitLod@ is a boolean value indicating whether@@ -1481,13 +1484,13 @@     -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_AVERAGE_BIT'     -- /must/ not be included in the set.     supportedStencilResolveModes :: ResolveModeFlags-  , -- | @independentResolveNone@ is 'Vulkan.Core10.BaseType.TRUE' if the+  , -- | @independentResolveNone@ is 'Vulkan.Core10.FundamentalTypes.TRUE' if the     -- implementation supports setting the depth and stencil resolve modes to     -- different values when one of those modes is     -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE'. Otherwise     -- the implementation only supports setting both modes to the same value.     independentResolveNone :: Bool-  , -- | @independentResolve@ is 'Vulkan.Core10.BaseType.TRUE' if the+  , -- | @independentResolve@ is 'Vulkan.Core10.FundamentalTypes.TRUE' if the     -- implementation supports all combinations of the supported depth and     -- stencil resolve modes, including setting either depth or stencil resolve     -- mode to 'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE'. An
src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs view
@@ -21,7 +21,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkDescriptorBindingFlagBits - Bitmask specifying descriptor set layout -- binding properties
src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs view
@@ -22,7 +22,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkResolveModeFlagBits - Bitmask indicating supported depth and stencil -- resolve modes
src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs view
@@ -18,7 +18,7 @@ import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Zero (Zero) -- | VkSemaphoreWaitFlagBits - Bitmask specifying additional parameters of a -- semaphore wait operation
src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs view
@@ -39,9 +39,9 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core12.Enums.DescriptorBindingFlagBits (DescriptorBindingFlags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -84,7 +84,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceDescriptorIndexingFeatures = PhysicalDeviceDescriptorIndexingFeatures   { -- | @shaderInputAttachmentArrayDynamicIndexing@ indicates whether arrays of@@ -384,7 +384,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceDescriptorIndexingProperties = PhysicalDeviceDescriptorIndexingProperties   { -- | @maxUpdateAfterBindDescriptorsInAllPools@ is the maximum number of@@ -397,38 +397,38 @@     maxUpdateAfterBindDescriptorsInAllPools :: Word32   , -- | @shaderUniformBufferArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether uniform buffer descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of uniform buffers /may/ execute multiple times in order to access-    -- all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of uniform buffers /may/ execute multiple times in+    -- order to access all the descriptors.     shaderUniformBufferArrayNonUniformIndexingNative :: Bool   , -- | @shaderSampledImageArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether sampler and image descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of samplers or images /may/ execute multiple times in order to-    -- access all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of samplers or images /may/ execute multiple times in+    -- order to access all the descriptors.     shaderSampledImageArrayNonUniformIndexingNative :: Bool   , -- | @shaderStorageBufferArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether storage buffer descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of storage buffers /may/ execute multiple times in order to access-    -- all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of storage buffers /may/ execute multiple times in+    -- order to access all the descriptors.     shaderStorageBufferArrayNonUniformIndexingNative :: Bool   , -- | @shaderStorageImageArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether storage image descriptors natively support nonuniform-    -- indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a single-    -- dynamic instance of an instruction that nonuniformly indexes an array of-    -- storage images /may/ execute multiple times in order to access all the-    -- descriptors.+    -- indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE', then a+    -- single dynamic instance of an instruction that nonuniformly indexes an+    -- array of storage images /may/ execute multiple times in order to access+    -- all the descriptors.     shaderStorageImageArrayNonUniformIndexingNative :: Bool   , -- | @shaderInputAttachmentArrayNonUniformIndexingNative@ is a boolean value     -- indicating whether input attachment descriptors natively support-    -- nonuniform indexing. If this is 'Vulkan.Core10.BaseType.FALSE', then a-    -- single dynamic instance of an instruction that nonuniformly indexes an-    -- array of input attachments /may/ execute multiple times in order to-    -- access all the descriptors.+    -- nonuniform indexing. If this is 'Vulkan.Core10.FundamentalTypes.FALSE',+    -- then a single dynamic instance of an instruction that nonuniformly+    -- indexes an array of input attachments /may/ execute multiple times in+    -- order to access all the descriptors.     shaderInputAttachmentArrayNonUniformIndexingNative :: Bool   , -- | @robustBufferAccessUpdateAfterBind@ is a boolean value indicating     -- whether@@ -438,8 +438,8 @@     -- @descriptorBindingStorageBufferUpdateAfterBind@,     -- @descriptorBindingUniformTexelBufferUpdateAfterBind@, and\/or     -- @descriptorBindingStorageTexelBufferUpdateAfterBind@. If this is-    -- 'Vulkan.Core10.BaseType.FALSE', then either @robustBufferAccess@ /must/-    -- be disabled or all of these update-after-bind features /must/ be+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', then either @robustBufferAccess@+    -- /must/ be disabled or all of these update-after-bind features /must/ be     -- disabled.     robustBufferAccessUpdateAfterBind :: Bool   , -- | @quadDivergentImplicitLod@ is a boolean value indicating whether
src/Vulkan/Core12/Promoted_From_VK_EXT_host_query_reset.hs view
@@ -24,10 +24,10 @@ import Foreign.Ptr (Ptr) import Data.Word (Word32) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkResetQueryPool))@@ -137,7 +137,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceHostQueryResetFeatures = PhysicalDeviceHostQueryResetFeatures   { -- | @hostQueryReset@ indicates that the implementation supports resetting
src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core12.Enums.SamplerReductionMode (SamplerReductionMode)@@ -50,7 +50,8 @@ -- it is filled with the implementation-dependent limits. -- -- If @filterMinmaxSingleComponentFormats@ is--- 'Vulkan.Core10.BaseType.TRUE', the following formats /must/ support the+-- 'Vulkan.Core10.FundamentalTypes.TRUE', the following formats /must/+-- support the -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT' -- feature with 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL', if -- they support@@ -61,20 +62,21 @@ -- supports min\/max filtering, and that min\/max filtering of the depth -- aspect is supported when depth compare is disabled in the sampler. ----- If @filterMinmaxImageComponentMapping@ is 'Vulkan.Core10.BaseType.FALSE'--- the component mapping of the image view used with min\/max filtering--- /must/ have been created with the @r@ component set to+-- If @filterMinmaxImageComponentMapping@ is+-- 'Vulkan.Core10.FundamentalTypes.FALSE' the component mapping of the+-- image view used with min\/max filtering /must/ have been created with+-- the @r@ component set to -- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY'. Only -- the @r@ component of the sampled image value is defined and the other -- component values are undefined. If @filterMinmaxImageComponentMapping@--- is 'Vulkan.Core10.BaseType.TRUE' this restriction does not apply and--- image component mapping works as normal.+-- is 'Vulkan.Core10.FundamentalTypes.TRUE' this restriction does not apply+-- and image component mapping works as normal. -- -- == Valid Usage (Implicit) -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceSamplerFilterMinmaxProperties = PhysicalDeviceSamplerFilterMinmaxProperties   { -- | @filterMinmaxSingleComponentFormats@ is a boolean value indicating
src/Vulkan/Core12/Promoted_From_VK_EXT_scalar_block_layout.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -47,7 +47,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceScalarBlockLayoutFeatures = PhysicalDeviceScalarBlockLayoutFeatures   { -- | @scalarBlockLayout@ indicates that the implementation supports the
src/Vulkan/Core12/Promoted_From_VK_KHR_8bit_storage.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -32,7 +32,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDevice8BitStorageFeatures = PhysicalDevice8BitStorageFeatures   { -- | @storageBuffer8BitAccess@ indicates whether objects in the
src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs view
@@ -40,13 +40,13 @@ import Data.Word (Word64) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Buffer) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..))-import Vulkan.Core10.BaseType (DeviceAddress)+import Vulkan.Core10.FundamentalTypes (DeviceAddress) import Vulkan.Dynamic (DeviceCmds(pVkGetBufferDeviceAddress)) import Vulkan.Dynamic (DeviceCmds(pVkGetBufferOpaqueCaptureAddress)) import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceMemoryOpaqueCaptureAddress))@@ -293,7 +293,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceBufferDeviceAddressFeatures = PhysicalDeviceBufferDeviceAddressFeatures   { -- | @bufferDeviceAddress@ indicates that the implementation supports
src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs view
@@ -749,7 +749,7 @@ -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data AttachmentDescription2 (es :: [Type]) = AttachmentDescription2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlagBits'@@ -984,7 +984,7 @@ -- 'SubpassDescription2', -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve' data AttachmentReference2 (es :: [Type]) = AttachmentReference2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @attachment@ is either an integer value identifying an attachment at the     -- corresponding index in@@ -1210,7 +1210,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlags' data SubpassDescription2 (es :: [Type]) = SubpassDescription2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits'@@ -1745,7 +1745,7 @@ -- 'SubpassDescription2', 'createRenderPass2', -- 'Vulkan.Extensions.VK_KHR_create_renderpass2.createRenderPass2KHR' data RenderPassCreateInfo2 (es :: [Type]) = RenderPassCreateInfo2-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is reserved for future use.     flags :: RenderPassCreateFlags
src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs view
@@ -22,13 +22,13 @@ import Foreign.Ptr (Ptr) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.CStruct.Extends (peekSomeCStruct) import Vulkan.CStruct.Extends (withSomeCStruct) import Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2 (AttachmentReference2)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core12.Enums.ResolveModeFlagBits (ResolveModeFlagBits)@@ -56,7 +56,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceDepthStencilResolveProperties = PhysicalDeviceDepthStencilResolveProperties@@ -76,13 +76,13 @@     -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_AVERAGE_BIT'     -- /must/ not be included in the set.     supportedStencilResolveModes :: ResolveModeFlags-  , -- | @independentResolveNone@ is 'Vulkan.Core10.BaseType.TRUE' if the+  , -- | @independentResolveNone@ is 'Vulkan.Core10.FundamentalTypes.TRUE' if the     -- implementation supports setting the depth and stencil resolve modes to     -- different values when one of those modes is     -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE'. Otherwise     -- the implementation only supports setting both modes to the same value.     independentResolveNone :: Bool-  , -- | @independentResolve@ is 'Vulkan.Core10.BaseType.TRUE' if the+  , -- | @independentResolve@ is 'Vulkan.Core10.FundamentalTypes.TRUE' if the     -- implementation supports all combinations of the supported depth and     -- stencil resolve modes, including setting either depth or stencil resolve     -- mode to 'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE'. An@@ -194,18 +194,18 @@ --     @pDepthStencilResolveAttachment@ has both depth and stencil --     components, --     'PhysicalDeviceDepthStencilResolveProperties'::@independentResolve@---     is 'Vulkan.Core10.BaseType.FALSE', and+--     is 'Vulkan.Core10.FundamentalTypes.FALSE', and --     'PhysicalDeviceDepthStencilResolveProperties'::@independentResolveNone@---     is 'Vulkan.Core10.BaseType.FALSE', then the values of+--     is 'Vulkan.Core10.FundamentalTypes.FALSE', then the values of --     @depthResolveMode@ and @stencilResolveMode@ /must/ be identical -- -- -   If the 'Vulkan.Core10.Enums.Format.Format' of --     @pDepthStencilResolveAttachment@ has both depth and stencil --     components, --     'PhysicalDeviceDepthStencilResolveProperties'::@independentResolve@---     is 'Vulkan.Core10.BaseType.FALSE' and+--     is 'Vulkan.Core10.FundamentalTypes.FALSE' and --     'PhysicalDeviceDepthStencilResolveProperties'::@independentResolveNone@---     is 'Vulkan.Core10.BaseType.TRUE', then the values of+--     is 'Vulkan.Core10.FundamentalTypes.TRUE', then the values of --     @depthResolveMode@ and @stencilResolveMode@ /must/ be identical or --     one of them /must/ be --     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE'
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -21,7 +21,7 @@ import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Dynamic (DeviceCmds(pVkCmdDrawIndexedIndirectCount)) import Vulkan.Dynamic (DeviceCmds(pVkCmdDrawIndirectCount))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -206,9 +206,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -316,7 +316,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDrawIndirectCount :: forall io                       . (MonadIO io)                      => -- | @commandBuffer@ is the command buffer into which the command is@@ -531,9 +531,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -638,7 +638,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDrawIndexedIndirectCount :: forall io                              . (MonadIO io)                             => -- | @commandBuffer@ is the command buffer into which the command is
src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs view
@@ -28,9 +28,9 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Enums.Format (Format) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -70,7 +70,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceImagelessFramebufferFeatures = PhysicalDeviceImagelessFramebufferFeatures   { -- | @imagelessFramebuffer@ indicates that the implementation supports
src/Vulkan/Core12/Promoted_From_VK_KHR_separate_depth_stencil_layouts.hs view
@@ -17,9 +17,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ImageLayout (ImageLayout)@@ -55,7 +55,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceSeparateDepthStencilLayoutsFeatures = PhysicalDeviceSeparateDepthStencilLayoutsFeatures   { -- | @separateDepthStencilLayouts@ indicates whether the implementation
src/Vulkan/Core12/Promoted_From_VK_KHR_shader_atomic_int64.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -32,7 +32,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderAtomicInt64Features = PhysicalDeviceShaderAtomicInt64Features   { -- | @shaderBufferInt64Atomics@ indicates whether shaders /can/ support
src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float16_int8.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -32,7 +32,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderFloat16Int8Features = PhysicalDeviceShaderFloat16Int8Features   { -- | @shaderFloat16@ indicates whether 16-bit floats (halfs) are supported in
src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float_controls.hs view
@@ -1,6 +1,7 @@ {-# language CPP #-} module Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls  ( PhysicalDeviceFloatControlsProperties(..)                                                                  , StructureType(..)+                                                                 , ShaderFloatControlsIndependence(..)                                                                  ) where  import Foreign.Marshal.Alloc (allocaBytesAligned)@@ -14,9 +15,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core12.Enums.ShaderFloatControlsIndependence (ShaderFloatControlsIndependence)@@ -25,6 +26,7 @@ import Vulkan.CStruct (ToCStruct(..)) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES))+import Vulkan.Core12.Enums.ShaderFloatControlsIndependence (ShaderFloatControlsIndependence(..)) import Vulkan.Core10.Enums.StructureType (StructureType(..)) -- | VkPhysicalDeviceFloatControlsProperties - Structure describing -- properties supported by VK_KHR_shader_float_controls@@ -45,7 +47,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceFloatControlsProperties = PhysicalDeviceFloatControlsProperties
src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -48,7 +48,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderSubgroupExtendedTypesFeatures = PhysicalDeviceShaderSubgroupExtendedTypesFeatures   { -- | @shaderSubgroupExtendedTypes@ is a boolean that specifies whether
src/Vulkan/Core12/Promoted_From_VK_KHR_timeline_semaphore.hs view
@@ -49,10 +49,10 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetSemaphoreCounterValue))@@ -362,7 +362,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceTimelineSemaphoreFeatures = PhysicalDeviceTimelineSemaphoreFeatures   { -- | @timelineSemaphore@ indicates whether semaphores created with a
src/Vulkan/Core12/Promoted_From_VK_KHR_uniform_buffer_standard_layout.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -47,7 +47,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceUniformBufferStandardLayoutFeatures = PhysicalDeviceUniformBufferStandardLayoutFeatures   { -- | @uniformBufferStandardLayout@ indicates that the implementation supports
src/Vulkan/Core12/Promoted_From_VK_KHR_vulkan_memory_model.hs view
@@ -14,9 +14,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -32,7 +32,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceVulkanMemoryModelFeatures = PhysicalDeviceVulkanMemoryModelFeatures   { -- | @vulkanMemoryModel@ indicates whether the Vulkan Memory Model is
src/Vulkan/Dynamic.hs view
@@ -22,7 +22,7 @@ import Data.Word (Word32) import Data.Word (Word64) import Vulkan.NamedType ((:::))-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (AHardwareBuffer)+import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AHardwareBuffer) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureBuildGeometryInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureBuildOffsetInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureCreateInfoKHR)@@ -43,7 +43,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindBufferMemoryInfo) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindImageMemoryInfo) import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo)-import {-# SOURCE #-} Vulkan.Core10.BaseType (Bool32)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Bool32) import {-# SOURCE #-} Vulkan.Core10.Handles (Buffer) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (BufferCopy) import {-# SOURCE #-} Vulkan.Core10.Buffer (BufferCreateInfo)@@ -56,8 +56,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_calibrated_timestamps (CalibratedTimestampInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints (CheckpointDataNV) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearAttachment)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (ClearColorValue)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (ClearDepthStencilValue)+import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearColorValue)+import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearDepthStencilValue) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ClearRect) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (CoarseSampleOrderCustomNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (CoarseSampleOrderTypeNV)@@ -104,7 +104,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (DescriptorSetLayoutSupport) import {-# SOURCE #-} Vulkan.Core11.Handles (DescriptorUpdateTemplate) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template (DescriptorUpdateTemplateCreateInfo)-import {-# SOURCE #-} Vulkan.Core10.BaseType (DeviceAddress)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (DeviceAddress) import {-# SOURCE #-} Vulkan.Core10.Device (DeviceCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DeviceEventInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupPresentCapabilitiesKHR)@@ -112,9 +112,9 @@ import {-# SOURCE #-} Vulkan.Core10.Handles (DeviceMemory) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (DeviceMemoryOpaqueCaptureAddressInfo) import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (DeviceQueueInfo2)-import {-# SOURCE #-} Vulkan.Core10.BaseType (DeviceSize)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (DeviceSize) import {-# SOURCE #-} Vulkan.Core10.Handles (Device_T)-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (Display)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xlib_surface (Display) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DisplayEventInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.Handles (DisplayKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_display (DisplayModeCreateInfoKHR)@@ -133,7 +133,7 @@ import {-# SOURCE #-} Vulkan.Core10.Handles (Event) import {-# SOURCE #-} Vulkan.Core10.Event (EventCreateInfo) import {-# SOURCE #-} Vulkan.Core10.ExtensionDiscovery (ExtensionProperties)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (Extent2D)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Extent2D) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (ExternalBufferProperties) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities (ExternalFenceProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_external_memory_capabilities (ExternalImageFormatPropertiesNV)@@ -154,7 +154,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (GeneratedCommandsInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (GeneratedCommandsMemoryRequirementsInfoNV) import {-# SOURCE #-} Vulkan.Core10.Pipeline (GraphicsPipelineCreateInfo)-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (HANDLE)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_hdr_metadata (HdrMetadataEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_headless_surface (HeadlessSurfaceCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_MVK_ios_surface (IOSSurfaceCreateInfoMVK)@@ -172,8 +172,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface (ImagePipeSurfaceCreateInfoFUCHSIA) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageResolve) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (ImageSparseMemoryRequirementsInfo2)-import {-# SOURCE #-} Vulkan.Core10.Image (ImageSubresource)-import {-# SOURCE #-} Vulkan.Core10.SharedTypes (ImageSubresourceRange)+import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (ImageSubresource)+import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageSubresourceRange) import {-# SOURCE #-} Vulkan.Core10.Enums.ImageTiling (ImageTiling) import {-# SOURCE #-} Vulkan.Core10.Enums.ImageType (ImageType) import {-# SOURCE #-} Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags)@@ -203,7 +203,7 @@ import {-# SOURCE #-} Vulkan.Core10.Enums.MemoryMapFlags (MemoryMapFlags) import {-# SOURCE #-} Vulkan.Core10.MemoryManagement (MemoryRequirements) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (MemoryRequirements2)-import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (MemoryRequirements2KHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_memory_requirements2 (MemoryRequirements2KHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_win32 (MemoryWin32HandlePropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_metal_surface (MetalSurfaceCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (MultisamplePropertiesEXT)@@ -261,10 +261,10 @@ import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (QueueFamilyProperties) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (QueueFamilyProperties2) import {-# SOURCE #-} Vulkan.Core10.Handles (Queue_T)-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (RROutput)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_acquire_xlib_display (RROutput) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (RayTracingPipelineCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (RayTracingPipelineCreateInfoNV)-import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (Rect2D)+import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Rect2D) import {-# SOURCE #-} Vulkan.Extensions.VK_GOOGLE_display_timing (RefreshCycleDurationGOOGLE) import {-# SOURCE #-} Vulkan.Core10.Handles (RenderPass) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (RenderPassBeginInfo)@@ -315,16 +315,16 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_validation_cache (ValidationCacheCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.Handles (ValidationCacheEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NN_vi_surface (ViSurfaceCreateInfoNN)-import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (Viewport)+import {-# SOURCE #-} Vulkan.Core10.Pipeline (Viewport) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_clip_space_w_scaling (ViewportWScalingNV)-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (VisualID)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xlib_surface (VisualID) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_wayland_surface (WaylandSurfaceCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_win32_surface (Win32SurfaceCreateInfoKHR)-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (Wl_display)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_wayland_surface (Wl_display) import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (WriteDescriptorSet) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xcb_surface (XcbSurfaceCreateInfoKHR)-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (Xcb_connection_t)-import {-# SOURCE #-} Vulkan.Extensions.WSITypes (Xcb_visualid_t)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xcb_surface (Xcb_connection_t)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xcb_surface (Xcb_visualid_t) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_xlib_surface (XlibSurfaceCreateInfoKHR) import Vulkan.Zero (Zero(..)) data InstanceCmds = InstanceCmds
src/Vulkan/Extensions.hs view
@@ -205,7 +205,6 @@                           , module Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve                           , module Vulkan.Extensions.VK_QCOM_render_pass_store_ops                           , module Vulkan.Extensions.VK_QCOM_render_pass_transform-                          , module Vulkan.Extensions.WSITypes                           ) where import Vulkan.Extensions.Handles import Vulkan.Extensions.VK_AMD_buffer_marker@@ -413,5 +412,4 @@ import Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve import Vulkan.Extensions.VK_QCOM_render_pass_store_ops import Vulkan.Extensions.VK_QCOM_render_pass_transform-import Vulkan.Extensions.WSITypes 
src/Vulkan/Extensions/VK_AMD_buffer_marker.hs view
@@ -24,7 +24,7 @@ import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Dynamic (DeviceCmds(pVkCmdWriteBufferMarkerAMD))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlagBits) import Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlagBits(..)) foreign import ccall@@ -70,6 +70,50 @@ -- -- == Valid Usage --+-- -   @pipelineStage@ /must/ be a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported valid stage>+--     for the queue family that was used to create the command pool that+--     @commandBuffer@ was allocated from+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'+--     or+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--     or+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- -   If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+--     feature is not enabled, @pipelineStage@ /must/ not be+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+-- -- -   @dstOffset@ /must/ be less than or equal to the size of @dstBuffer@ --     minus @4@ --@@ -125,7 +169,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits' cmdWriteBufferMarkerAMD :: forall io                          . (MonadIO io)
src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -40,7 +40,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceCoherentMemoryFeaturesAMD = PhysicalDeviceCoherentMemoryFeaturesAMD   { -- | @deviceCoherentMemory@ indicates that the implementation supports
src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs view
@@ -30,11 +30,11 @@ import Foreign.Ptr (FunPtr) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..)) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkSetLocalDimmingAMD))@@ -79,7 +79,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.Handles.Device',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'Vulkan.Core10.Handles.Device', -- 'Vulkan.Extensions.Handles.SwapchainKHR' setLocalDimmingAMD :: forall io                     . (MonadIO io)@@ -107,11 +107,11 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data DisplayNativeHdrSurfaceCapabilitiesAMD = DisplayNativeHdrSurfaceCapabilitiesAMD   { -- | @localDimmingSupport@ specifies whether the surface supports local-    -- dimming. If this is 'Vulkan.Core10.BaseType.TRUE',+    -- dimming. If this is 'Vulkan.Core10.FundamentalTypes.TRUE',     -- 'SwapchainDisplayNativeHdrCreateInfoAMD' /can/ be used to explicitly     -- enable or disable local dimming for the surface. Local dimming may also     -- be overriden by 'setLocalDimmingAMD' during the lifetime of the@@ -163,8 +163,8 @@ -- If the @pNext@ chain of -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR' does not -- include this structure, the default value for @localDimmingEnable@ is--- 'Vulkan.Core10.BaseType.TRUE', meaning local dimming is initially--- enabled for the swapchain.+-- 'Vulkan.Core10.FundamentalTypes.TRUE', meaning local dimming is+-- initially enabled for the swapchain. -- -- == Valid Usage (Implicit) --@@ -174,13 +174,13 @@ -- == Valid Usage -- -- -   It is only valid to set @localDimmingEnable@ to---     'Vulkan.Core10.BaseType.TRUE' if+--     'Vulkan.Core10.FundamentalTypes.TRUE' if --     'DisplayNativeHdrSurfaceCapabilitiesAMD'::@localDimmingSupport@ is --     supported -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data SwapchainDisplayNativeHdrCreateInfoAMD = SwapchainDisplayNativeHdrCreateInfoAMD   { -- | @localDimmingEnable@ specifies whether local dimming is enabled for the
src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs view
@@ -32,7 +32,7 @@ import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)
src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs view
@@ -33,7 +33,7 @@ import Data.Word (Word32) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)
src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -36,7 +36,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data TextureLODGatherFormatPropertiesAMD = TextureLODGatherFormatPropertiesAMD   { -- | @supportsTextureGatherLODBiasAMD@ tells if the image format can be used
src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs view
@@ -47,7 +47,6 @@ import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.CStruct.Extends (forgetExtensions)-import Vulkan.Extensions.WSITypes (AHardwareBuffer) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core11.Enums.ChromaLocation (ChromaLocation) import Vulkan.Core10.ImageView (ComponentMapping)@@ -56,7 +55,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkGetAndroidHardwareBufferPropertiesANDROID)) import Vulkan.Dynamic (DeviceCmds(pVkGetMemoryAndroidHardwareBufferANDROID)) import Vulkan.Core10.Handles (DeviceMemory)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss)@@ -86,7 +85,6 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (AHardwareBuffer) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -122,8 +120,7 @@                                              -- one of the @AHARDWAREBUFFER_USAGE_GPU_@* flags in its                                              -- @AHardwareBuffer_Desc@::@usage@                                              ---                                             -- @buffer@ /must/ be a valid pointer to a valid-                                             -- 'Vulkan.Extensions.WSITypes.AHardwareBuffer' value+                                             -- @buffer@ /must/ be a valid pointer to a valid 'AHardwareBuffer' value                                              (Ptr AHardwareBuffer)                                           -> io (AndroidHardwareBufferPropertiesANDROID a) getAndroidHardwareBufferPropertiesANDROID device buffer = liftIO . evalContT $ do@@ -234,8 +231,7 @@ -- -   @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID' ----- -   @buffer@ /must/ be a valid pointer to an---     'Vulkan.Extensions.WSITypes.AHardwareBuffer' value+-- -   @buffer@ /must/ be a valid pointer to an 'AHardwareBuffer' value -- -- = See Also --@@ -371,11 +367,11 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'getAndroidHardwareBufferPropertiesANDROID' data AndroidHardwareBufferPropertiesANDROID (es :: [Type]) = AndroidHardwareBufferPropertiesANDROID-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @allocationSize@ is the size of the external memory     allocationSize :: DeviceSize@@ -766,4 +762,7 @@ -- No documentation found for TopLevel "VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME" pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME = "VK_ANDROID_external_memory_android_hardware_buffer"+++data AHardwareBuffer 
src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs-boot view
@@ -5,6 +5,7 @@                                                                              , ExternalFormatANDROID                                                                              , ImportAndroidHardwareBufferInfoANDROID                                                                              , MemoryGetAndroidHardwareBufferInfoANDROID+                                                                             , AHardwareBuffer                                                                              ) where  import Data.Kind (Type)@@ -61,4 +62,7 @@ instance Show MemoryGetAndroidHardwareBufferInfoANDROID  instance FromCStruct MemoryGetAndroidHardwareBufferInfoANDROID+++data AHardwareBuffer 
src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs view
@@ -5,9 +5,9 @@                                                       , pattern EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION                                                       , EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME                                                       , pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME+                                                      , RROutput                                                       , DisplayKHR(..)                                                       , Display-                                                      , RROutput                                                       ) where  import Control.Exception.Base (bracket)@@ -27,9 +27,10 @@ import GHC.IO.Exception (IOException(..)) import Foreign.Ptr (FunPtr) import Foreign.Ptr (Ptr)+import Data.Word (Word64) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::))-import Vulkan.Extensions.WSITypes (Display)+import Vulkan.Extensions.VK_KHR_xlib_surface (Display) import Vulkan.Extensions.Handles (DisplayKHR) import Vulkan.Extensions.Handles (DisplayKHR(..)) import Vulkan.Dynamic (InstanceCmds(pVkAcquireXlibDisplayEXT))@@ -37,14 +38,12 @@ import Vulkan.Core10.Handles (PhysicalDevice) import Vulkan.Core10.Handles (PhysicalDevice(..)) import Vulkan.Core10.Handles (PhysicalDevice_T)-import Vulkan.Extensions.WSITypes (RROutput) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..)) import Vulkan.Exception (VulkanException(..)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (Display)+import Vulkan.Extensions.VK_KHR_xlib_surface (Display) import Vulkan.Extensions.Handles (DisplayKHR(..))-import Vulkan.Extensions.WSITypes (RROutput) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -97,7 +96,7 @@                       -> -- | @dpy@ A connection to the X11 server that currently owns @display@.                          --                          -- @dpy@ /must/ be a valid pointer to a-                         -- 'Vulkan.Extensions.WSITypes.Display' value+                         -- 'Vulkan.Extensions.VK_KHR_xlib_surface.Display' value                          ("dpy" ::: Ptr Display)                       -> -- | @display@ The display the caller wishes to control in Vulkan.                          --@@ -153,7 +152,7 @@                          -> -- | @dpy@ A connection to the X11 server from which @rrOutput@ was queried.                             --                             -- @dpy@ /must/ be a valid pointer to a-                            -- 'Vulkan.Extensions.WSITypes.Display' value+                            -- 'Vulkan.Extensions.VK_KHR_xlib_surface.Display' value                             ("dpy" ::: Ptr Display)                          -> -- | @rrOutput@ An X11 RandR output ID.                             RROutput@@ -181,4 +180,7 @@ -- No documentation found for TopLevel "VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME" pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_xlib_display"+++type RROutput = Word64 
+ src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs-boot view
@@ -0,0 +1,7 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_EXT_acquire_xlib_display  (RROutput) where++import Data.Word (Word64)++type RROutput = Word64+
src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs view
@@ -19,9 +19,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Enums.Format (Format) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -157,7 +157,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceASTCDecodeFeaturesEXT = PhysicalDeviceASTCDecodeFeaturesEXT   { -- | @decodeModeSharedExponent@ indicates whether the implementation supports
src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs view
@@ -38,9 +38,9 @@ import Data.Word (Word32) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -73,19 +73,19 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceBlendOperationAdvancedFeaturesEXT = PhysicalDeviceBlendOperationAdvancedFeaturesEXT   { -- | @advancedBlendCoherentOperations@ specifies whether blending using     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-blend-advanced advanced blend operations>     -- is guaranteed to execute atomically and in     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-order primitive order>.-    -- If this is 'Vulkan.Core10.BaseType.TRUE',+    -- If this is 'Vulkan.Core10.FundamentalTypes.TRUE',     -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT'     -- is treated the same as     -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_COLOR_ATTACHMENT_READ_BIT',     -- and advanced blending needs no additional synchronization over basic-    -- blending. If this is 'Vulkan.Core10.BaseType.FALSE', then memory+    -- blending. If this is 'Vulkan.Core10.FundamentalTypes.FALSE', then memory     -- dependencies are required to guarantee order between two advanced     -- blending operations that occur on the same sample.     advancedBlendCoherentOperations :: Bool }@@ -147,7 +147,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceBlendOperationAdvancedPropertiesEXT = PhysicalDeviceBlendOperationAdvancedPropertiesEXT   { -- | @advancedBlendMaxColorAttachments@ is one greater than the highest color@@ -160,19 +160,19 @@     advancedBlendIndependentBlend :: Bool   , -- | @advancedBlendNonPremultipliedSrcColor@ specifies whether the source     -- color /can/ be treated as non-premultiplied. If this is-    -- 'Vulkan.Core10.BaseType.FALSE', then+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', then     -- 'PipelineColorBlendAdvancedStateCreateInfoEXT'::@srcPremultiplied@-    -- /must/ be 'Vulkan.Core10.BaseType.TRUE'.+    -- /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE'.     advancedBlendNonPremultipliedSrcColor :: Bool   , -- | @advancedBlendNonPremultipliedDstColor@ specifies whether the     -- destination color /can/ be treated as non-premultiplied. If this is-    -- 'Vulkan.Core10.BaseType.FALSE', then+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', then     -- 'PipelineColorBlendAdvancedStateCreateInfoEXT'::@dstPremultiplied@-    -- /must/ be 'Vulkan.Core10.BaseType.TRUE'.+    -- /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE'.     advancedBlendNonPremultipliedDstColor :: Bool   , -- | @advancedBlendCorrelatedOverlap@ specifies whether the overlap mode     -- /can/ be treated as correlated. If this is-    -- 'Vulkan.Core10.BaseType.FALSE', then+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', then     -- 'PipelineColorBlendAdvancedStateCreateInfoEXT'::@blendOverlap@ /must/ be     -- 'BLEND_OVERLAP_UNCORRELATED_EXT'.     advancedBlendCorrelatedOverlap :: Bool@@ -246,20 +246,20 @@ -- -- If this structure is not present, @srcPremultiplied@ and -- @dstPremultiplied@ are both considered to be--- 'Vulkan.Core10.BaseType.TRUE', and @blendOverlap@ is considered to be--- 'BLEND_OVERLAP_UNCORRELATED_EXT'.+-- 'Vulkan.Core10.FundamentalTypes.TRUE', and @blendOverlap@ is considered+-- to be 'BLEND_OVERLAP_UNCORRELATED_EXT'. -- -- == Valid Usage -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-advancedBlendNonPremultipliedSrcColor non-premultiplied source color> --     property is not supported, @srcPremultiplied@ /must/ be---     'Vulkan.Core10.BaseType.TRUE'+--     'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-advancedBlendNonPremultipliedDstColor non-premultiplied destination color> --     property is not supported, @dstPremultiplied@ /must/ be---     'Vulkan.Core10.BaseType.TRUE'+--     'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-advancedBlendCorrelatedOverlap correlated overlap>@@ -275,7 +275,7 @@ -- -- = See Also ----- 'BlendOverlapEXT', 'Vulkan.Core10.BaseType.Bool32',+-- 'BlendOverlapEXT', 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineColorBlendAdvancedStateCreateInfoEXT = PipelineColorBlendAdvancedStateCreateInfoEXT   { -- | @srcPremultiplied@ specifies whether the source color of the blend
src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs view
@@ -27,12 +27,12 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (getBufferDeviceAddress)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (BufferDeviceAddressInfo)-import Vulkan.Core10.BaseType (DeviceAddress)+import Vulkan.Core10.FundamentalTypes (DeviceAddress) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -105,7 +105,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceBufferDeviceAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT   { -- | @bufferDeviceAddress@ indicates that the implementation supports@@ -191,7 +191,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data BufferDeviceAddressCreateInfoEXT = BufferDeviceAddressCreateInfoEXT   { -- | @deviceAddress@ is the device address requested for the buffer.
src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs view
@@ -50,17 +50,17 @@ import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Buffer) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Dynamic (DeviceCmds(pVkCmdBeginConditionalRenderingEXT)) import Vulkan.Dynamic (DeviceCmds(pVkCmdEndConditionalRenderingEXT))-import Vulkan.Core10.BaseType (DeviceSize)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -268,7 +268,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'ConditionalRenderingFlagsEXT',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'cmdBeginConditionalRenderingEXT' data ConditionalRenderingBeginInfoEXT = ConditionalRenderingBeginInfoEXT@@ -332,14 +332,14 @@ -- = Description -- -- If this structure is not present, the behavior is as if--- @conditionalRenderingEnable@ is 'Vulkan.Core10.BaseType.FALSE'.+-- @conditionalRenderingEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE'. -- -- == Valid Usage -- -- -   If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-inheritedConditionalRendering inherited conditional rendering> --     feature is not enabled, @conditionalRenderingEnable@ /must/ be---     'Vulkan.Core10.BaseType.FALSE'+--     'Vulkan.Core10.FundamentalTypes.FALSE' -- -- == Valid Usage (Implicit) --@@ -348,16 +348,16 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data CommandBufferInheritanceConditionalRenderingInfoEXT = CommandBufferInheritanceConditionalRenderingInfoEXT   { -- | @conditionalRenderingEnable@ specifies whether the command buffer /can/     -- be executed while conditional rendering is active in the primary command-    -- buffer. If this is 'Vulkan.Core10.BaseType.TRUE', then this command-    -- buffer /can/ be executed whether the primary command buffer has active-    -- conditional rendering or not. If this is 'Vulkan.Core10.BaseType.FALSE',-    -- then the primary command buffer /must/ not have conditional rendering-    -- active.+    -- buffer. If this is 'Vulkan.Core10.FundamentalTypes.TRUE', then this+    -- command buffer /can/ be executed whether the primary command buffer has+    -- active conditional rendering or not. If this is+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', then the primary command buffer+    -- /must/ not have conditional rendering active.     conditionalRenderingEnable :: Bool }   deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)@@ -415,7 +415,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceConditionalRenderingFeaturesEXT = PhysicalDeviceConditionalRenderingFeaturesEXT   { -- | @conditionalRendering@ specifies whether conditional rendering is
src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs view
@@ -41,10 +41,10 @@ import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -75,7 +75,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceConservativeRasterizationPropertiesEXT = PhysicalDeviceConservativeRasterizationPropertiesEXT   { -- | @primitiveOverestimationSize@ is the size in pixels the generating@@ -139,9 +139,10 @@     -- implementation supports conservative rasterization with the     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-earlytest-postdepthcoverage PostDepthCoverage>     -- execution mode enabled. When supported the-    -- 'Vulkan.Core10.BaseType.SampleMask' built-in input variable will reflect-    -- the coverage after the early per-fragment depth and stencil tests are-    -- applied even when conservative rasterization is enabled. Otherwise+    -- 'Vulkan.Core10.FundamentalTypes.SampleMask' built-in input variable will+    -- reflect the coverage after the early per-fragment depth and stencil+    -- tests are applied even when conservative rasterization is enabled.+    -- Otherwise     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-earlytest-postdepthcoverage PostDepthCoverage>     -- execution mode /must/ not be used when conservative rasterization is     -- enabled.
src/Vulkan/Extensions/VK_EXT_custom_border_color.hs view
@@ -24,10 +24,10 @@ import Data.Word (Word32) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.SharedTypes (ClearColorValue)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.CommandBufferBuilding (ClearColorValue) import Vulkan.Core10.Enums.Format (Format) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -70,12 +70,13 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.ClearColorValue',+-- 'Vulkan.Core10.CommandBufferBuilding.ClearColorValue', -- 'Vulkan.Core10.Enums.Format.Format', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data SamplerCustomBorderColorCreateInfoEXT = SamplerCustomBorderColorCreateInfoEXT-  { -- | @customBorderColor@ is a 'Vulkan.Core10.SharedTypes.ClearColorValue'-    -- representing the desired custom sampler border color.+  { -- | @customBorderColor@ is a+    -- 'Vulkan.Core10.CommandBufferBuilding.ClearColorValue' representing the+    -- desired custom sampler border color.     customBorderColor :: ClearColorValue   , -- | @format@ is a 'Vulkan.Core10.Enums.Format.Format' representing the     -- format of the sampled image view(s). This field may be@@ -180,7 +181,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceCustomBorderColorFeaturesEXT = PhysicalDeviceCustomBorderColorFeaturesEXT   { -- | @customBorderColors@ indicates that the implementation supports
src/Vulkan/Extensions/VK_EXT_debug_marker.hs view
@@ -207,6 +207,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -285,6 +287,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -341,6 +345,8 @@ --     allocated from /must/ support graphics, or compute operations -- -- == Host Synchronization+--+-- -   Host access to @commandBuffer@ /must/ be externally synchronized -- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized
src/Vulkan/Extensions/VK_EXT_debug_report.hs view
@@ -110,10 +110,10 @@ import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Extensions.Handles (DebugReportCallbackEXT) import Vulkan.Extensions.Handles (DebugReportCallbackEXT(..))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -802,10 +802,11 @@ -- -- The callback /must/ not call 'destroyDebugReportCallbackEXT'. ----- The callback returns a 'Vulkan.Core10.BaseType.Bool32', which is+-- The callback returns a 'Vulkan.Core10.FundamentalTypes.Bool32', which is -- interpreted in a layer-specified manner. The application /should/ always--- return 'Vulkan.Core10.BaseType.FALSE'. The 'Vulkan.Core10.BaseType.TRUE'--- value is reserved for use in layer development.+-- return 'Vulkan.Core10.FundamentalTypes.FALSE'. The+-- 'Vulkan.Core10.FundamentalTypes.TRUE' value is reserved for use in layer+-- development. -- -- @object@ /must/ be a Vulkan object or -- 'Vulkan.Core10.APIConstants.NULL_HANDLE'. If @objectType@ is not
src/Vulkan/Extensions/VK_EXT_debug_utils.hs view
@@ -101,7 +101,7 @@ import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T)@@ -118,7 +118,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkSetDebugUtilsObjectNameEXT)) import Vulkan.Dynamic (DeviceCmds(pVkSetDebugUtilsObjectTagEXT)) import Vulkan.Core10.Handles (Device_T)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -427,6 +427,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -514,6 +516,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -571,6 +575,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -1407,7 +1413,16 @@            mempty  --- No documentation found for TopLevel "VkDebugUtilsMessengerCreateFlagsEXT"+-- | VkDebugUtilsMessengerCreateFlagsEXT - Reserved for future use+--+-- = Description+--+-- 'DebugUtilsMessengerCreateFlagsEXT' is a bitmask type for setting a+-- mask, but is currently reserved for future use.+--+-- = See Also+--+-- 'DebugUtilsMessengerCreateInfoEXT' newtype DebugUtilsMessengerCreateFlagsEXT = DebugUtilsMessengerCreateFlagsEXT Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -1426,7 +1441,16 @@                        pure (DebugUtilsMessengerCreateFlagsEXT v)))  --- No documentation found for TopLevel "VkDebugUtilsMessengerCallbackDataFlagsEXT"+-- | VkDebugUtilsMessengerCallbackDataFlagsEXT - Reserved for future use+--+-- = Description+--+-- 'DebugUtilsMessengerCallbackDataFlagsEXT' is a bitmask type for setting+-- a mask, but is currently reserved for future use.+--+-- = See Also+--+-- 'DebugUtilsMessengerCallbackDataEXT' newtype DebugUtilsMessengerCallbackDataFlagsEXT = DebugUtilsMessengerCallbackDataFlagsEXT Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -1549,10 +1573,11 @@ -- -- The callback /must/ not call 'destroyDebugUtilsMessengerEXT'. ----- The callback returns a 'Vulkan.Core10.BaseType.Bool32', which is+-- The callback returns a 'Vulkan.Core10.FundamentalTypes.Bool32', which is -- interpreted in a layer-specified manner. The application /should/ always--- return 'Vulkan.Core10.BaseType.FALSE'. The 'Vulkan.Core10.BaseType.TRUE'--- value is reserved for use in layer development.+-- return 'Vulkan.Core10.FundamentalTypes.FALSE'. The+-- 'Vulkan.Core10.FundamentalTypes.TRUE' value is reserved for use in layer+-- development. -- -- = See Also --
src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs view
@@ -32,10 +32,10 @@ import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -67,7 +67,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceDepthClipEnableFeaturesEXT = PhysicalDeviceDepthClipEnableFeaturesEXT   { -- | @depthClipEnable@ indicates that the implementation supports setting the@@ -75,7 +75,7 @@     -- 'PipelineRasterizationDepthClipStateCreateInfoEXT' pipeline state.     -- Otherwise depth clipping is only enabled when     -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@depthClampEnable@-    -- is set to 'Vulkan.Core10.BaseType.FALSE'.+    -- is set to 'Vulkan.Core10.FundamentalTypes.FALSE'.     depthClipEnable :: Bool }   deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)@@ -122,7 +122,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'PipelineRasterizationDepthClipStateCreateFlagsEXT', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineRasterizationDepthClipStateCreateInfoEXT = PipelineRasterizationDepthClipStateCreateInfoEXT
src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs view
@@ -35,7 +35,6 @@ import Data.Vector (generateM) import qualified Data.Vector (imapM_) import qualified Data.Vector (length)-import qualified Data.Vector (null) import Control.Monad.IO.Class (MonadIO) import Data.Bits (Bits) import Data.String (IsString)@@ -62,10 +61,10 @@ import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDiscardRectangleEXT))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -101,16 +100,16 @@ --     'PhysicalDeviceDiscardRectanglePropertiesEXT'::@maxDiscardRectangles@ -- -- -   The @x@ and @y@ member of @offset@ in each---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' element of+--     'Vulkan.Core10.FundamentalTypes.Rect2D' element of --     @pDiscardRectangles@ /must/ be greater than or equal to @0@ -- -- -   Evaluation of (@offset.x@ + @extent.width@) in each---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' element of+--     'Vulkan.Core10.FundamentalTypes.Rect2D' element of --     @pDiscardRectangles@ /must/ not cause a signed integer addition --     overflow -- -- -   Evaluation of (@offset.y@ + @extent.height@) in each---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' element of+--     'Vulkan.Core10.FundamentalTypes.Rect2D' element of --     @pDiscardRectangles@ /must/ not cause a signed integer addition --     overflow --@@ -120,7 +119,7 @@ --     'Vulkan.Core10.Handles.CommandBuffer' handle -- -- -   @pDiscardRectangles@ /must/ be a valid pointer to an array of---     @discardRectangleCount@ 'Vulkan.Core10.CommandBufferBuilding.Rect2D'+--     @discardRectangleCount@ 'Vulkan.Core10.FundamentalTypes.Rect2D' --     structures -- -- -   @commandBuffer@ /must/ be in the@@ -152,7 +151,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D'+-- 'Vulkan.Core10.FundamentalTypes.Rect2D' cmdSetDiscardRectangleEXT :: forall io                            . (MonadIO io)                           => -- | @commandBuffer@ is the command buffer into which the command will be@@ -162,8 +161,8 @@                              -- whose state is updated by the command.                              ("firstDiscardRectangle" ::: Word32)                           -> -- | @pDiscardRectangles@ is a pointer to an array of-                             -- 'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures specifying-                             -- discard rectangles.+                             -- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures specifying discard+                             -- rectangles.                              ("discardRectangles" ::: Vector Rect2D)                           -> io () cmdSetDiscardRectangleEXT commandBuffer firstDiscardRectangle discardRectangles = liftIO . evalContT $ do@@ -261,7 +260,7 @@ -- -- 'DiscardRectangleModeEXT', -- 'PipelineDiscardRectangleStateCreateFlagsEXT',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineDiscardRectangleStateCreateInfoEXT = PipelineDiscardRectangleStateCreateInfoEXT   { -- | @flags@ is reserved for future use.@@ -273,13 +272,8 @@     --     -- @discardRectangleMode@ /must/ be a valid 'DiscardRectangleModeEXT' value     discardRectangleMode :: DiscardRectangleModeEXT-  , -- | @discardRectangleCount@ is the number of discard rectangles to use.-    ---    -- @discardRectangleCount@ /must/ be less than or equal to-    -- 'PhysicalDeviceDiscardRectanglePropertiesEXT'::@maxDiscardRectangles@-    discardRectangleCount :: Word32   , -- | @pDiscardRectangles@ is a pointer to an array of-    -- 'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures defining discard+    -- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures defining discard     -- rectangles.     discardRectangles :: Vector Rect2D   }@@ -296,29 +290,21 @@     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)     lift $ poke ((p `plusPtr` 16 :: Ptr PipelineDiscardRectangleStateCreateFlagsEXT)) (flags)     lift $ poke ((p `plusPtr` 20 :: Ptr DiscardRectangleModeEXT)) (discardRectangleMode)-    let pDiscardRectanglesLength = Data.Vector.length $ (discardRectangles)-    discardRectangleCount'' <- lift $ if (discardRectangleCount) == 0-      then pure $ fromIntegral pDiscardRectanglesLength-      else do-        unless (fromIntegral pDiscardRectanglesLength == (discardRectangleCount) || pDiscardRectanglesLength == 0) $-          throwIO $ IOError Nothing InvalidArgument "" "pDiscardRectangles must be empty or have 'discardRectangleCount' elements" Nothing Nothing-        pure (discardRectangleCount)-    lift $ poke ((p `plusPtr` 24 :: Ptr Word32)) (discardRectangleCount'')-    pDiscardRectangles'' <- if Data.Vector.null (discardRectangles)-      then pure nullPtr-      else do-        pPDiscardRectangles <- ContT $ allocaBytesAligned @Rect2D (((Data.Vector.length (discardRectangles))) * 16) 4-        Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPDiscardRectangles `plusPtr` (16 * (i)) :: Ptr Rect2D) (e) . ($ ())) ((discardRectangles))-        pure $ pPDiscardRectangles-    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Rect2D))) pDiscardRectangles''+    lift $ poke ((p `plusPtr` 24 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (discardRectangles)) :: Word32))+    pPDiscardRectangles' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (discardRectangles)) * 16) 4+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPDiscardRectangles' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e) . ($ ())) (discardRectangles)+    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Rect2D))) (pPDiscardRectangles')     lift $ f   cStructSize = 40   cStructAlignment = 8-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 20 :: Ptr DiscardRectangleModeEXT)) (zero)-    f+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    lift $ poke ((p `plusPtr` 20 :: Ptr DiscardRectangleModeEXT)) (zero)+    pPDiscardRectangles' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (mempty)) * 16) 4+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPDiscardRectangles' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e) . ($ ())) (mempty)+    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Rect2D))) (pPDiscardRectangles')+    lift $ f  instance FromCStruct PipelineDiscardRectangleStateCreateInfoEXT where   peekCStruct p = do@@ -326,14 +312,12 @@     discardRectangleMode <- peek @DiscardRectangleModeEXT ((p `plusPtr` 20 :: Ptr DiscardRectangleModeEXT))     discardRectangleCount <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))     pDiscardRectangles <- peek @(Ptr Rect2D) ((p `plusPtr` 32 :: Ptr (Ptr Rect2D)))-    let pDiscardRectanglesLength = if pDiscardRectangles == nullPtr then 0 else (fromIntegral discardRectangleCount)-    pDiscardRectangles' <- generateM pDiscardRectanglesLength (\i -> peekCStruct @Rect2D ((pDiscardRectangles `advancePtrBytes` (16 * (i)) :: Ptr Rect2D)))+    pDiscardRectangles' <- generateM (fromIntegral discardRectangleCount) (\i -> peekCStruct @Rect2D ((pDiscardRectangles `advancePtrBytes` (16 * (i)) :: Ptr Rect2D)))     pure $ PipelineDiscardRectangleStateCreateInfoEXT-             flags discardRectangleMode discardRectangleCount pDiscardRectangles'+             flags discardRectangleMode pDiscardRectangles'  instance Zero PipelineDiscardRectangleStateCreateInfoEXT where   zero = PipelineDiscardRectangleStateCreateInfoEXT-           zero            zero            zero            mempty
src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs view
@@ -54,8 +54,8 @@ import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.Extensions.VK_KHR_surface (CompositeAlphaFlagsKHR)-import Vulkan.Core10.SharedTypes (Extent2D)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags)@@ -95,7 +95,7 @@ -- -- 'getPhysicalDeviceSurfaceCapabilities2EXT' behaves similarly to -- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceCapabilitiesKHR',--- with the ability to return extended information by adding extension+-- with the ability to return extended information by adding extending -- structures to the @pNext@ chain of its @pSurfaceCapabilities@ parameter. -- -- == Valid Usage (Implicit)@@ -171,7 +171,7 @@ -- = See Also -- -- 'Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagsKHR',--- 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'SurfaceCounterFlagsEXT',
src/Vulkan/Extensions/VK_EXT_external_memory_host.hs view
@@ -38,7 +38,7 @@ import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetMemoryHostPointerPropertiesEXT))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits) import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(..))@@ -320,7 +320,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceExternalMemoryHostPropertiesEXT = PhysicalDeviceExternalMemoryHostPropertiesEXT   { -- | @minImportedHostPointerAlignment@ is the minimum /required/ alignment,
src/Vulkan/Extensions/VK_EXT_filter_cubic.hs view
@@ -21,9 +21,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ImageViewType (ImageViewType)@@ -119,7 +119,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data FilterCubicImageViewImageFormatPropertiesEXT = FilterCubicImageViewImageFormatPropertiesEXT   { -- | @filterCubic@ tells if image format, image type and image view type
src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs view
@@ -23,11 +23,11 @@ import Foreign.Ptr (Ptr) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.Core10.Pass (AttachmentReference)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.SharedTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Extent2D) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -59,7 +59,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceFragmentDensityMapFeaturesEXT = PhysicalDeviceFragmentDensityMapFeaturesEXT   { -- | @fragmentDensityMap@ specifies whether the implementation supports@@ -151,7 +151,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceFragmentDensityMapPropertiesEXT = PhysicalDeviceFragmentDensityMapPropertiesEXT   { -- | @minFragmentDensityTexelSize@ is the minimum
src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -51,7 +51,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceFragmentShaderInterlockFeaturesEXT = PhysicalDeviceFragmentShaderInterlockFeaturesEXT   { -- | @fragmentShaderSampleInterlock@ indicates that the implementation
src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs view
@@ -16,13 +16,13 @@                                                        , pattern EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION                                                        , EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME                                                        , pattern EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME+                                                       , HMONITOR                                                        , SurfaceKHR(..)                                                        , SwapchainKHR(..)                                                        , PhysicalDeviceSurfaceInfo2KHR(..)                                                        , PresentModeKHR(..)                                                        , DeviceGroupPresentModeFlagBitsKHR(..)                                                        , DeviceGroupPresentModeFlagsKHR-                                                       , HMONITOR                                                        ) where  import Control.Exception.Base (bracket)@@ -68,11 +68,11 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkAcquireFullScreenExclusiveModeEXT))@@ -84,7 +84,6 @@ import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (HMONITOR) import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceSurfacePresentModes2EXT)) import Vulkan.Core10.Handles (PhysicalDevice) import Vulkan.Core10.Handles (PhysicalDevice(..))@@ -110,7 +109,6 @@ import Vulkan.Core10.Enums.Result (Result(SUCCESS)) import Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupPresentModeFlagBitsKHR(..)) import Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupPresentModeFlagsKHR)-import Vulkan.Extensions.WSITypes (HMONITOR) import Vulkan.Extensions.VK_KHR_get_surface_capabilities2 (PhysicalDeviceSurfaceInfo2KHR(..)) import Vulkan.Extensions.VK_KHR_surface (PresentModeKHR(..)) import Vulkan.Extensions.Handles (SurfaceKHR(..))@@ -483,10 +481,10 @@ -- -- 'Vulkan.Core10.Enums.StructureType.StructureType' data SurfaceFullScreenExclusiveWin32InfoEXT = SurfaceFullScreenExclusiveWin32InfoEXT-  { -- | @hmonitor@ is the Win32 'Vulkan.Extensions.WSITypes.HMONITOR' handle-    -- identifying the display to create the surface with.+  { -- | @hmonitor@ is the Win32 'HMONITOR' handle identifying the display to+    -- create the surface with.     ---    -- @hmonitor@ /must/ be a valid 'Vulkan.Extensions.WSITypes.HMONITOR'+    -- @hmonitor@ /must/ be a valid 'HMONITOR'     hmonitor :: HMONITOR }   deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)@@ -534,19 +532,20 @@ -- This structure /can/ be included in the @pNext@ chain of -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR' -- to determine support for exclusive full-screen access. If--- @fullScreenExclusiveSupported@ is 'Vulkan.Core10.BaseType.FALSE', it--- indicates that exclusive full-screen access is not obtainable for this--- surface.+-- @fullScreenExclusiveSupported@ is+-- 'Vulkan.Core10.FundamentalTypes.FALSE', it indicates that exclusive+-- full-screen access is not obtainable for this surface. -- -- Applications /must/ not attempt to create swapchains with -- 'FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT' set if--- @fullScreenExclusiveSupported@ is 'Vulkan.Core10.BaseType.FALSE'.+-- @fullScreenExclusiveSupported@ is+-- 'Vulkan.Core10.FundamentalTypes.FALSE'. -- -- == Valid Usage (Implicit) -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data SurfaceCapabilitiesFullScreenExclusiveEXT = SurfaceCapabilitiesFullScreenExclusiveEXT   { -- No documentation found for Nested "VkSurfaceCapabilitiesFullScreenExclusiveEXT" "fullScreenExclusiveSupported"@@ -655,4 +654,7 @@ -- No documentation found for TopLevel "VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME" pattern EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME = "VK_EXT_full_screen_exclusive"+++type HMONITOR = Ptr () 
src/Vulkan/Extensions/VK_EXT_headless_surface.hs view
@@ -50,7 +50,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -191,7 +191,16 @@            zero  --- No documentation found for TopLevel "VkHeadlessSurfaceCreateFlagsEXT"+-- | VkHeadlessSurfaceCreateFlagsEXT - Reserved for future use+--+-- = Description+--+-- 'HeadlessSurfaceCreateFlagsEXT' is a bitmask type for setting a mask,+-- but is currently reserved for future use.+--+-- = See Also+--+-- 'HeadlessSurfaceCreateInfoEXT' newtype HeadlessSurfaceCreateFlagsEXT = HeadlessSurfaceCreateFlagsEXT Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) 
src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -50,7 +50,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8FeaturesEXT   { -- | @indexTypeUint8@ indicates that
src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs view
@@ -22,9 +22,9 @@ import Foreign.Ptr (Ptr) import Data.Word (Word32) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -57,7 +57,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeaturesEXT   { -- | @inlineUniformBlock@ indicates whether the implementation supports
src/Vulkan/Extensions/VK_EXT_line_rasterization.hs view
@@ -49,10 +49,10 @@ import Data.Word (Word32) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T)@@ -155,7 +155,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeaturesEXT   { -- | @rectangularLines@ indicates whether the implementation supports@@ -172,7 +172,7 @@     -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' lines, or with     -- 'LINE_RASTERIZATION_MODE_DEFAULT_EXT' lines if     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@-    -- is 'Vulkan.Core10.BaseType.TRUE'.+    -- is 'Vulkan.Core10.FundamentalTypes.TRUE'.     stippledRectangularLines :: Bool   , -- | @stippledBresenhamLines@ indicates whether the implementation supports     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>@@ -324,31 +324,31 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-bresenhamLines smoothLines> --     feature /must/ be enabled ----- -   If @stippledLineEnable@ is 'Vulkan.Core10.BaseType.TRUE' and+-- -   If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and --     @lineRasterizationMode@ is --     'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT', then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled ----- -   If @stippledLineEnable@ is 'Vulkan.Core10.BaseType.TRUE' and+-- -   If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and --     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_BRESENHAM_EXT', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled ----- -   If @stippledLineEnable@ is 'Vulkan.Core10.BaseType.TRUE' and+-- -   If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and --     @lineRasterizationMode@ is --     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT', then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled ----- -   If @stippledLineEnable@ is 'Vulkan.Core10.BaseType.TRUE' and+-- -   If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and --     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_DEFAULT_EXT', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@---     /must/ be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- == Valid Usage (Implicit) --@@ -360,7 +360,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'LineRasterizationModeEXT',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'LineRasterizationModeEXT', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfoEXT   { -- | @lineRasterizationMode@ is a 'LineRasterizationModeEXT' value selecting@@ -435,7 +435,7 @@ -- | 'LINE_RASTERIZATION_MODE_DEFAULT_EXT' is equivalent to -- 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' if -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@--- is 'Vulkan.Core10.BaseType.TRUE', otherwise lines are drawn as+-- is 'Vulkan.Core10.FundamentalTypes.TRUE', otherwise lines are drawn as -- non-@strictLines@ parallelograms. Both of these modes are defined in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-lines-basic Basic Line Segment Rasterization>. pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT = LineRasterizationModeEXT 0
src/Vulkan/Extensions/VK_EXT_memory_budget.hs view
@@ -29,7 +29,7 @@ import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes) import Vulkan.CStruct.Utils (lowerArrayPtr)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.APIConstants (MAX_MEMORY_HEAPS)@@ -57,21 +57,22 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceMemoryBudgetPropertiesEXT = PhysicalDeviceMemoryBudgetPropertiesEXT   { -- | @heapBudget@ is an array of     -- 'Vulkan.Core10.APIConstants.MAX_MEMORY_HEAPS'-    -- 'Vulkan.Core10.BaseType.DeviceSize' values in which memory budgets are-    -- returned, with one element for each memory heap. A heap’s budget is a-    -- rough estimate of how much memory the process /can/ allocate from that-    -- heap before allocations /may/ fail or cause performance degradation. The-    -- budget includes any currently allocated device memory.+    -- 'Vulkan.Core10.FundamentalTypes.DeviceSize' values in which memory+    -- budgets are returned, with one element for each memory heap. A heap’s+    -- budget is a rough estimate of how much memory the process /can/ allocate+    -- from that heap before allocations /may/ fail or cause performance+    -- degradation. The budget includes any currently allocated device memory.     heapBudget :: Vector DeviceSize   , -- | @heapUsage@ is an array of 'Vulkan.Core10.APIConstants.MAX_MEMORY_HEAPS'-    -- 'Vulkan.Core10.BaseType.DeviceSize' values in which memory usages are-    -- returned, with one element for each memory heap. A heap’s usage is an-    -- estimate of how much memory the process is currently using in that heap.+    -- 'Vulkan.Core10.FundamentalTypes.DeviceSize' values in which memory+    -- usages are returned, with one element for each memory heap. A heap’s+    -- usage is an estimate of how much memory the process is currently using+    -- in that heap.     heapUsage :: Vector DeviceSize   }   deriving (Typeable)
src/Vulkan/Extensions/VK_EXT_memory_priority.hs view
@@ -21,9 +21,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -54,7 +54,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceMemoryPriorityFeaturesEXT = PhysicalDeviceMemoryPriorityFeaturesEXT   { -- | @memoryPriority@ indicates that the implementation supports memory
src/Vulkan/Extensions/VK_EXT_metal_surface.hs view
@@ -6,8 +6,8 @@                                                , pattern EXT_METAL_SURFACE_SPEC_VERSION                                                , EXT_METAL_SURFACE_EXTENSION_NAME                                                , pattern EXT_METAL_SURFACE_EXTENSION_NAME-                                               , SurfaceKHR(..)                                                , CAMetalLayer+                                               , SurfaceKHR(..)                                                ) where  import Control.Exception.Base (bracket)@@ -51,8 +51,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Extensions.WSITypes (CAMetalLayer)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -71,7 +70,6 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (CAMetalLayer) import Vulkan.Extensions.Handles (SurfaceKHR(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -158,8 +156,8 @@     --     -- @flags@ /must/ be @0@     flags :: MetalSurfaceCreateFlagsEXT-  , -- | @pLayer@ is a reference to a 'Vulkan.Extensions.WSITypes.CAMetalLayer'-    -- object representing a renderable surface.+  , -- | @pLayer@ is a reference to a 'CAMetalLayer' object representing a+    -- renderable surface.     layer :: Ptr CAMetalLayer   }   deriving (Typeable, Eq)@@ -203,7 +201,16 @@            zero  --- No documentation found for TopLevel "VkMetalSurfaceCreateFlagsEXT"+-- | VkMetalSurfaceCreateFlagsEXT - Reserved for future use+--+-- = Description+--+-- 'MetalSurfaceCreateFlagsEXT' is a bitmask type for setting a mask, but+-- is currently reserved for future use.+--+-- = See Also+--+-- 'MetalSurfaceCreateInfoEXT' newtype MetalSurfaceCreateFlagsEXT = MetalSurfaceCreateFlagsEXT Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -234,4 +241,7 @@ -- No documentation found for TopLevel "VK_EXT_METAL_SURFACE_EXTENSION_NAME" pattern EXT_METAL_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern EXT_METAL_SURFACE_EXTENSION_NAME = "VK_EXT_metal_surface"+++data CAMetalLayer 
src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs view
@@ -19,9 +19,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -58,7 +58,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDevicePipelineCreationCacheControlFeaturesEXT = PhysicalDevicePipelineCreationCacheControlFeaturesEXT   { -- | @pipelineCreationCacheControl@ indicates that the implementation
src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs view
@@ -39,7 +39,7 @@ import Data.Word (Word64) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)
src/Vulkan/Extensions/VK_EXT_private_data.hs view
@@ -57,11 +57,11 @@ import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkCreatePrivateDataSlotEXT))@@ -69,7 +69,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkGetPrivateDataEXT)) import Vulkan.Dynamic (DeviceCmds(pVkSetPrivateDataEXT)) import Vulkan.Core10.Handles (Device_T)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ObjectType (ObjectType)@@ -177,6 +177,35 @@  -- | vkDestroyPrivateDataSlotEXT - Destroy a private data slot --+-- == Valid Usage+--+-- -   If 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' were+--     provided when @privateDataSlot@ was created, a compatible set of+--     callbacks /must/ be provided here+--+-- -   If no 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' were+--     provided when @privateDataSlot@ was created, @pAllocator@ /must/ be+--     @NULL@+--+-- == Valid Usage (Implicit)+--+-- -   @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   If @privateDataSlot@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @privateDataSlot@ /must/+--     be a valid 'Vulkan.Extensions.Handles.PrivateDataSlotEXT' handle+--+-- -   If @pAllocator@ is not @NULL@, @pAllocator@ /must/ be a valid+--     pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   If @privateDataSlot@ is a valid handle, it /must/ have been created,+--     allocated, or retrieved from @device@+--+-- == Host Synchronization+--+-- -   Host access to @privateDataSlot@ /must/ be externally synchronized+-- -- = See Also -- -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',@@ -461,7 +490,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeaturesEXT   { -- | @privateData@ indicates whether the implementation supports private
src/Vulkan/Extensions/VK_EXT_robustness2.hs view
@@ -19,10 +19,10 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -82,7 +82,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesEXT   { -- No documentation found for Nested "VkPhysicalDeviceRobustness2FeaturesEXT" "robustBufferAccess2"@@ -157,7 +157,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesEXT   { -- | @robustStorageBufferAccessSizeAlignment@ is the number of bytes that the
src/Vulkan/Extensions/VK_EXT_sample_locations.hs view
@@ -47,16 +47,16 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Dynamic (DeviceCmds(pVkCmdSetSampleLocationsEXT))-import Vulkan.Core10.SharedTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Extent2D) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceMultisamplePropertiesEXT))@@ -93,8 +93,8 @@ -- -- -   If --     'PhysicalDeviceSampleLocationsPropertiesEXT'::@variableSampleLocations@---     is 'Vulkan.Core10.BaseType.FALSE' then the current render pass---     /must/ have been begun by specifying a+--     is 'Vulkan.Core10.FundamentalTypes.FALSE' then the current render+--     pass /must/ have been begun by specifying a --     'RenderPassSampleLocationsBeginInfoEXT' structure whose --     @pPostSubpassSampleLocations@ member contains an element with a --     @subpassIndex@ matching the current subpass index and the@@ -303,7 +303,8 @@ -- -- = See Also ----- 'AttachmentSampleLocationsEXT', 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'AttachmentSampleLocationsEXT',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'PipelineSampleLocationsStateCreateInfoEXT', -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits', -- 'SampleLocationEXT', 'Vulkan.Core10.Enums.StructureType.StructureType',@@ -442,7 +443,7 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- or if the subpass does not use a depth\/stencil attachment, and -- 'PhysicalDeviceSampleLocationsPropertiesEXT'::@variableSampleLocations@--- is 'Vulkan.Core10.BaseType.TRUE' then the values specified in+-- is 'Vulkan.Core10.FundamentalTypes.TRUE' then the values specified in -- @sampleLocationsInfo@ are ignored. -- -- == Valid Usage (Implicit)@@ -545,12 +546,12 @@     -- or to the final layout of the attachment in case the specified subpass     -- is the last subpass using that attachment. In addition, if     -- 'PhysicalDeviceSampleLocationsPropertiesEXT'::@variableSampleLocations@-    -- is 'Vulkan.Core10.BaseType.FALSE', each element of+    -- is 'Vulkan.Core10.FundamentalTypes.FALSE', each element of     -- @pPostSubpassSampleLocations@ /must/ specify the sample location state     -- that matches the sample locations used by all pipelines that will be     -- bound to a command buffer during the specified subpass. If-    -- @variableSampleLocations@ is 'Vulkan.Core10.BaseType.TRUE', the sample-    -- locations used for rasterization do not depend on+    -- @variableSampleLocations@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the+    -- sample locations used for rasterization do not depend on     -- @pPostSubpassSampleLocations@.     postSubpassSampleLocations :: Vector SubpassSampleLocationsEXT   }@@ -611,18 +612,18 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'SampleLocationsInfoEXT',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'SampleLocationsInfoEXT', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineSampleLocationsStateCreateInfoEXT = PipelineSampleLocationsStateCreateInfoEXT   { -- | @sampleLocationsEnable@ controls whether custom sample locations are-    -- used. If @sampleLocationsEnable@ is 'Vulkan.Core10.BaseType.FALSE', the-    -- default sample locations are used and the values specified in-    -- @sampleLocationsInfo@ are ignored.+    -- used. If @sampleLocationsEnable@ is+    -- 'Vulkan.Core10.FundamentalTypes.FALSE', the default sample locations are+    -- used and the values specified in @sampleLocationsInfo@ are ignored.     sampleLocationsEnable :: Bool   , -- | @sampleLocationsInfo@ is the sample locations to use during     -- rasterization if @sampleLocationsEnable@ is-    -- 'Vulkan.Core10.BaseType.TRUE' and the graphics pipeline is not created-    -- with+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' and the graphics pipeline is not+    -- created with     -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT'.     --     -- @sampleLocationsInfo@ /must/ be a valid 'SampleLocationsInfoEXT'@@ -684,7 +685,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlags', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceSampleLocationsPropertiesEXT = PhysicalDeviceSampleLocationsPropertiesEXT@@ -704,10 +706,10 @@     sampleLocationSubPixelBits :: Word32   , -- | @variableSampleLocations@ specifies whether the sample locations used by     -- all pipelines that will be bound to a command buffer during a subpass-    -- /must/ match. If set to 'Vulkan.Core10.BaseType.TRUE', the+    -- /must/ match. If set to 'Vulkan.Core10.FundamentalTypes.TRUE', the     -- implementation supports variable sample locations in a subpass. If set-    -- to 'Vulkan.Core10.BaseType.FALSE', then the sample locations /must/ stay-    -- constant in each subpass.+    -- to 'Vulkan.Core10.FundamentalTypes.FALSE', then the sample locations+    -- /must/ stay constant in each subpass.     variableSampleLocations :: Bool   }   deriving (Typeable)@@ -775,7 +777,7 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'getPhysicalDeviceMultisamplePropertiesEXT' data MultisamplePropertiesEXT = MultisamplePropertiesEXT
src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -52,7 +52,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT   { -- | @shaderDemoteToHelperInvocation@ indicates whether the implementation
src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs view
@@ -21,9 +21,9 @@ import Foreign.Ptr (Ptr) import Data.Word (Word32) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlags)@@ -74,7 +74,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeaturesEXT   { -- | @subgroupSizeControl@ indicates whether the implementation supports
src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs view
@@ -19,10 +19,10 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -54,7 +54,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceTexelBufferAlignmentFeaturesEXT = PhysicalDeviceTexelBufferAlignmentFeaturesEXT   { -- | @texelBufferAlignment@ indicates whether the implementation uses more@@ -116,11 +116,12 @@ -- it is filled with the implementation-dependent limits. -- -- If the single texel alignment property is--- 'Vulkan.Core10.BaseType.FALSE', then the buffer view’s offset /must/ be--- aligned to the corresponding byte alignment value. If the single texel--- alignment property is 'Vulkan.Core10.BaseType.TRUE', then the buffer--- view’s offset /must/ be aligned to the lesser of the corresponding byte--- alignment value or the size of a single texel, based on+-- 'Vulkan.Core10.FundamentalTypes.FALSE', then the buffer view’s offset+-- /must/ be aligned to the corresponding byte alignment value. If the+-- single texel alignment property is+-- 'Vulkan.Core10.FundamentalTypes.TRUE', then the buffer view’s offset+-- /must/ be aligned to the lesser of the corresponding byte alignment+-- value or the size of a single texel, based on -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo'::@format@. If the size -- of a single texel is a multiple of three bytes, then the size of a -- single component of the format is used instead.@@ -135,7 +136,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceTexelBufferAlignmentPropertiesEXT = PhysicalDeviceTexelBufferAlignmentPropertiesEXT   { -- | @storageTexelBufferOffsetAlignmentBytes@ is a byte alignment that is
src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -50,7 +50,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT   { -- | @textureCompressionASTC_HDR@ indicates whether all of the ASTC HDR
src/Vulkan/Extensions/VK_EXT_tooling_info.hs view
@@ -66,7 +66,7 @@ import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.CStruct.Utils (pokeFixedLengthNullTerminatedByteString) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceToolPropertiesEXT))
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -57,10 +57,10 @@ import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Buffer) import Vulkan.Core10.Handles (Buffer(..)) import Vulkan.Core10.Handles (CommandBuffer)@@ -72,8 +72,8 @@ import Vulkan.Dynamic (DeviceCmds(pVkCmdDrawIndirectByteCountEXT)) import Vulkan.Dynamic (DeviceCmds(pVkCmdEndQueryIndexedEXT)) import Vulkan.Dynamic (DeviceCmds(pVkCmdEndTransformFeedbackEXT))-import Vulkan.Core10.BaseType (DeviceSize)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlagBits(..))@@ -156,7 +156,7 @@ --     valid 'Vulkan.Core10.Handles.Buffer' handles -- -- -   @pOffsets@ /must/ be a valid pointer to an array of @bindingCount@---     'Vulkan.Core10.BaseType.DeviceSize' values+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' values -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -191,7 +191,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdBindTransformFeedbackBuffersEXT :: forall io                                     . (MonadIO io)                                    => -- | @commandBuffer@ is the command buffer into which the command is@@ -296,8 +296,8 @@ -- -- -   If @counterBufferCount@ is not @0@, and @pCounterBufferOffsets@ is --     not @NULL@, @pCounterBufferOffsets@ /must/ be a valid pointer to an---     array of @counterBufferCount@ 'Vulkan.Core10.BaseType.DeviceSize'---     values+--     array of @counterBufferCount@+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' values -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -333,7 +333,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdBeginTransformFeedbackEXT :: forall io                               . (MonadIO io)                              => -- | @commandBuffer@ is the command buffer into which the command is@@ -443,8 +443,8 @@ -- -- -   If @counterBufferCount@ is not @0@, and @pCounterBufferOffsets@ is --     not @NULL@, @pCounterBufferOffsets@ /must/ be a valid pointer to an---     array of @counterBufferCount@ 'Vulkan.Core10.BaseType.DeviceSize'---     values+--     array of @counterBufferCount@+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' values -- -- -   @commandBuffer@ /must/ be in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>@@ -480,7 +480,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdEndTransformFeedbackEXT :: forall io                             . (MonadIO io)                            => -- | @commandBuffer@ is the command buffer into which the command is@@ -1020,9 +1020,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -1098,7 +1098,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDrawIndirectByteCountEXT :: forall io                              . (MonadIO io)                             => -- | @commandBuffer@ is the command buffer into which the command is@@ -1155,7 +1155,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceTransformFeedbackFeaturesEXT = PhysicalDeviceTransformFeedbackFeaturesEXT   { -- | @transformFeedback@ indicates whether the implementation supports@@ -1227,7 +1227,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceTransformFeedbackPropertiesEXT = PhysicalDeviceTransformFeedbackPropertiesEXT   { -- | @maxTransformFeedbackStreams@ is the maximum number of vertex streams@@ -1379,7 +1380,7 @@     --     -- @rasterizationStream@ /must/ be zero if     -- 'PhysicalDeviceTransformFeedbackPropertiesEXT'::@transformFeedbackRasterizationStreamSelect@-    -- is 'Vulkan.Core10.BaseType.FALSE'+    -- is 'Vulkan.Core10.FundamentalTypes.FALSE'     rasterizationStream :: Word32   }   deriving (Typeable, Eq)
src/Vulkan/Extensions/VK_EXT_validation_cache.hs view
@@ -79,7 +79,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkGetValidationCacheDataEXT)) import Vulkan.Dynamic (DeviceCmds(pVkMergeValidationCachesEXT)) import Vulkan.Core10.Handles (Device_T)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.Result (Result)
src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs view
@@ -30,9 +30,9 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -265,7 +265,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceVertexAttributeDivisorFeaturesEXT = PhysicalDeviceVertexAttributeDivisorFeaturesEXT   { -- | @vertexAttributeInstanceRateDivisor@ specifies whether vertex attribute
src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -51,7 +51,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceYcbcrImageArraysFeaturesEXT = PhysicalDeviceYcbcrImageArraysFeaturesEXT   { -- | @ycbcrImageArrays@ indicates that the implementation supports creating
src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs view
@@ -6,8 +6,8 @@                                                        , pattern FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION                                                        , FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME                                                        , pattern FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME-                                                       , SurfaceKHR(..)                                                        , Zx_handle_t+                                                       , SurfaceKHR(..)                                                        ) where  import Control.Exception.Base (bracket)@@ -46,12 +46,13 @@ import Foreign.Ptr (FunPtr) import Foreign.Ptr (Ptr) import GHC.Read (Read(readPrec))+import Data.Word (Word32) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -68,11 +69,9 @@ import Vulkan.Exception (VulkanException(..)) import Vulkan.Zero (Zero) import Vulkan.Zero (Zero(..))-import Vulkan.Extensions.WSITypes (Zx_handle_t) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA)) import Vulkan.Core10.Enums.Result (Result(SUCCESS)) import Vulkan.Extensions.Handles (SurfaceKHR(..))-import Vulkan.Extensions.WSITypes (Zx_handle_t) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -205,7 +204,16 @@            zero  --- No documentation found for TopLevel "VkImagePipeSurfaceCreateFlagsFUCHSIA"+-- | VkImagePipeSurfaceCreateFlagsFUCHSIA - Reserved for future use+--+-- = Description+--+-- 'ImagePipeSurfaceCreateFlagsFUCHSIA' is a bitmask type for setting a+-- mask, but is currently reserved for future use.+--+-- = See Also+--+-- 'ImagePipeSurfaceCreateInfoFUCHSIA' newtype ImagePipeSurfaceCreateFlagsFUCHSIA = ImagePipeSurfaceCreateFlagsFUCHSIA Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -236,4 +244,7 @@ -- No documentation found for TopLevel "VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME" pattern FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME = "VK_FUCHSIA_imagepipe_surface"+++type Zx_handle_t = Word32 
src/Vulkan/Extensions/VK_GGP_frame_token.hs view
@@ -18,16 +18,15 @@ import qualified Foreign.Storable (Storable(..)) import GHC.Generics (Generic) import Foreign.Ptr (Ptr)+import Data.Word (Word32) import Data.Kind (Type) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (GgpFrameToken) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..)) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP))-import Vulkan.Extensions.WSITypes (GgpFrameToken) -- | VkPresentFrameTokenGGP - The Google Games Platform frame token -- -- == Valid Usage (Implicit)@@ -38,8 +37,7 @@ data PresentFrameTokenGGP = PresentFrameTokenGGP   { -- | @frameToken@ is the Google Games Platform frame token.     ---    -- @frameToken@ /must/ be a valid-    -- 'Vulkan.Extensions.WSITypes.GgpFrameToken'+    -- @frameToken@ /must/ be a valid 'GgpFrameToken'     frameToken :: GgpFrameToken }   deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)@@ -91,4 +89,7 @@ -- No documentation found for TopLevel "VK_GGP_FRAME_TOKEN_EXTENSION_NAME" pattern GGP_FRAME_TOKEN_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern GGP_FRAME_TOKEN_EXTENSION_NAME = "VK_GGP_frame_token"+++type GgpFrameToken = Word32 
src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs view
@@ -6,8 +6,8 @@                                                            , pattern GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION                                                            , GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME                                                            , pattern GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME-                                                           , SurfaceKHR(..)                                                            , GgpStreamDescriptor+                                                           , SurfaceKHR(..)                                                            ) where  import Control.Exception.Base (bracket)@@ -46,15 +46,15 @@ import Foreign.Ptr (FunPtr) import Foreign.Ptr (Ptr) import GHC.Read (Read(readPrec))+import Data.Word (Word32) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (GgpStreamDescriptor) import Vulkan.Core10.Handles (Instance) import Vulkan.Core10.Handles (Instance(..)) import Vulkan.Dynamic (InstanceCmds(pVkCreateStreamDescriptorSurfaceGGP))@@ -71,7 +71,6 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (GgpStreamDescriptor) import Vulkan.Extensions.Handles (SurfaceKHR(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -162,11 +161,10 @@     --     -- @flags@ /must/ be @0@     flags :: StreamDescriptorSurfaceCreateFlagsGGP-  , -- | @streamDescriptor@ is a 'Vulkan.Extensions.WSITypes.GgpStreamDescriptor'-    -- referring to the GGP stream descriptor to associate with the surface.+  , -- | @streamDescriptor@ is a 'GgpStreamDescriptor' referring to the GGP+    -- stream descriptor to associate with the surface.     ---    -- @streamDescriptor@ /must/ be a valid-    -- 'Vulkan.Extensions.WSITypes.GgpStreamDescriptor'+    -- @streamDescriptor@ /must/ be a valid 'GgpStreamDescriptor'     streamDescriptor :: GgpStreamDescriptor   }   deriving (Typeable, Eq)@@ -210,7 +208,16 @@            zero  --- No documentation found for TopLevel "VkStreamDescriptorSurfaceCreateFlagsGGP"+-- | VkStreamDescriptorSurfaceCreateFlagsGGP - Reserved for future use+--+-- = Description+--+-- 'StreamDescriptorSurfaceCreateFlagsGGP' is a bitmask type for setting a+-- mask, but is currently reserved for future use.+--+-- = See Also+--+-- 'StreamDescriptorSurfaceCreateInfoGGP' newtype StreamDescriptorSurfaceCreateFlagsGGP = StreamDescriptorSurfaceCreateFlagsGGP Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -241,4 +248,7 @@ -- No documentation found for TopLevel "VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME" pattern GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME = "VK_GGP_stream_descriptor_surface"+++type GgpStreamDescriptor = Word32 
src/Vulkan/Extensions/VK_INTEL_performance_query.hs view
@@ -96,10 +96,10 @@ import Data.ByteString (ByteString) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T)@@ -248,6 +248,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -321,6 +323,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -401,6 +405,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -678,6 +684,12 @@ -- -- == Valid Usage (Implicit) --+-- -   @type@ /must/ be a valid 'PerformanceValueTypeINTEL' value+--+-- -   If @type@ is 'PERFORMANCE_VALUE_TYPE_STRING_INTEL', the+--     @valueString@ member of @data@ /must/ be a null-terminated UTF-8+--     string+-- -- = See Also -- -- 'PerformanceValueDataINTEL', 'PerformanceValueTypeINTEL',@@ -685,13 +697,9 @@ data PerformanceValueINTEL = PerformanceValueINTEL   { -- | @type@ is a 'PerformanceValueTypeINTEL' value specifying the type of the     -- returned data.-    ---    -- @type@ /must/ be a valid 'PerformanceValueTypeINTEL' value     type' :: PerformanceValueTypeINTEL   , -- | @data@ is a 'PerformanceValueDataINTEL' union specifying the value of     -- the returned data.-    ---    -- @data@ /must/ be a valid 'PerformanceValueDataINTEL' union     data' :: PerformanceValueDataINTEL   }   deriving (Typeable)@@ -957,7 +965,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'PerformanceOverrideTypeINTEL',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'PerformanceOverrideTypeINTEL', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'cmdSetPerformanceOverrideINTEL' data PerformanceOverrideInfoINTEL = PerformanceOverrideInfoINTEL
src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -51,7 +51,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL   { -- | @shaderIntegerFunctions2@ indicates that the implementation supports the
src/Vulkan/Extensions/VK_KHR_android_surface.hs view
@@ -6,8 +6,8 @@                                                  , pattern KHR_ANDROID_SURFACE_SPEC_VERSION                                                  , KHR_ANDROID_SURFACE_EXTENSION_NAME                                                  , pattern KHR_ANDROID_SURFACE_EXTENSION_NAME-                                                 , SurfaceKHR(..)                                                  , ANativeWindow+                                                 , SurfaceKHR(..)                                                  ) where  import Control.Exception.Base (bracket)@@ -50,9 +50,8 @@ import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::))-import Vulkan.Extensions.WSITypes (ANativeWindow) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -71,7 +70,6 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (ANativeWindow) import Vulkan.Extensions.Handles (SurfaceKHR(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -87,11 +85,9 @@ -- = Description -- -- During the lifetime of a surface created using a particular--- 'Vulkan.Extensions.WSITypes.ANativeWindow' handle any attempts to create--- another surface for the same 'Vulkan.Extensions.WSITypes.ANativeWindow'--- and any attempts to connect to the same--- 'Vulkan.Extensions.WSITypes.ANativeWindow' through other platform--- mechanisms will fail.+-- 'ANativeWindow' handle any attempts to create another surface for the+-- same 'ANativeWindow' and any attempts to connect to the same+-- 'ANativeWindow' through other platform mechanisms will fail. -- -- Note --@@ -101,7 +97,7 @@ -- @EGLSurface@ simultaneously. -- -- If successful, 'createAndroidSurfaceKHR' increments the--- 'Vulkan.Extensions.WSITypes.ANativeWindow'’s reference count, and+-- 'ANativeWindow'’s reference count, and -- 'Vulkan.Extensions.VK_KHR_surface.destroySurfaceKHR' will decrement it. -- -- On Android, when a swapchain’s @imageExtent@ does not match the@@ -187,11 +183,10 @@     --     -- @flags@ /must/ be @0@     flags :: AndroidSurfaceCreateFlagsKHR-  , -- | @window@ is a pointer to the 'Vulkan.Extensions.WSITypes.ANativeWindow'-    -- to associate the surface with.+  , -- | @window@ is a pointer to the 'ANativeWindow' to associate the surface+    -- with.     ---    -- @window@ /must/ point to a valid Android-    -- 'Vulkan.Extensions.WSITypes.ANativeWindow'+    -- @window@ /must/ point to a valid Android 'ANativeWindow'     window :: Ptr ANativeWindow   }   deriving (Typeable, Eq)@@ -235,7 +230,16 @@            zero  --- No documentation found for TopLevel "VkAndroidSurfaceCreateFlagsKHR"+-- | VkAndroidSurfaceCreateFlagsKHR - Reserved for future use+--+-- = Description+--+-- 'AndroidSurfaceCreateFlagsKHR' is a bitmask type for setting a mask, but+-- is currently reserved for future use.+--+-- = See Also+--+-- 'AndroidSurfaceCreateInfoKHR' newtype AndroidSurfaceCreateFlagsKHR = AndroidSurfaceCreateFlagsKHR Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -266,4 +270,7 @@ -- No documentation found for TopLevel "VK_KHR_ANDROID_SURFACE_EXTENSION_NAME" pattern KHR_ANDROID_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern KHR_ANDROID_SURFACE_EXTENSION_NAME = "VK_KHR_android_surface"+++data ANativeWindow 
src/Vulkan/Extensions/VK_KHR_deferred_host_operations.hs view
@@ -222,20 +222,36 @@ -- intended to be used to better schedule work onto available threads. -- Applications /can/ join any number of threads to the deferred operation -- and expect it to eventually complete, though excessive joins /may/--- return 'Vulkan.Core10.Enums.Result.THREAD_IDLE_KHR' immediately,+-- return 'Vulkan.Core10.Enums.Result.THREAD_DONE_KHR' immediately, -- performing no useful work. ----- If the deferred operation is currently joined to any threads, the value--- returned by this command /may/ immediately be out of date.+-- If @operation@ is complete, 'getDeferredOperationMaxConcurrencyKHR'+-- returns zero. ----- Implementations /must/ not return zero.+-- If @operation@ is currently joined to any threads, the value returned by+-- this command /may/ immediately be out of date. --+-- If @operation@ is pending, implementations /must/ not return zero unless+-- at least one thread is currently executing 'deferredOperationJoinKHR' on+-- @operation@. If there are such threads, the implementation /should/+-- return an estimate of the number of additional threads which it could+-- profitably use.+-- -- Implementations /may/ return 232-1 to indicate that the maximum -- concurrency is unknown and cannot be easily derived. Implementations -- /may/ return values larger than the maximum concurrency available on the -- host CPU. In these situations, an application /should/ clamp the return -- value rather than oversubscribing the machine. --+-- Note+--+-- The recommended usage pattern for applications is to query this value+-- once, after deferral, and schedule no more than the specified number of+-- threads to join the operation. Each time a joined thread receives+-- 'Vulkan.Core10.Enums.Result.THREAD_IDLE_KHR', the application should+-- schedule an additional join at some point in the future, but is not+-- required to do so.+-- -- == Valid Usage (Implicit) -- -- = See Also@@ -279,11 +295,17 @@ -- = Description -- -- If the deferred operation is pending, 'getDeferredOperationResultKHR'--- returns 'Vulkan.Core10.Enums.Result.NOT_READY'. Otherwise, it returns--- the result of the deferred operation. This value /must/ be one of the--- 'Vulkan.Core10.Enums.Result.Result' values which could have been--- returned by the original command if the operation had not been deferred.+-- returns 'Vulkan.Core10.Enums.Result.NOT_READY'. --+-- If no command has been deferred on @operation@,+-- 'getDeferredOperationResultKHR' returns+-- 'Vulkan.Core10.Enums.Result.SUCCESS'.+--+-- Otherwise, it returns the result of the previous deferred operation.+-- This value /must/ be one of the 'Vulkan.Core10.Enums.Result.Result'+-- values which could have been returned by the original command if the+-- operation had not been deferred.+-- -- == Return Codes -- -- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]@@ -540,11 +562,11 @@            zero  -type KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION = 2+type KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION = 3  -- No documentation found for TopLevel "VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION" pattern KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION :: forall a . Integral a => a-pattern KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION = 2+pattern KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION = 3   type KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME = "VK_KHR_deferred_host_operations"
src/Vulkan/Extensions/VK_KHR_display.hs view
@@ -82,17 +82,17 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Extensions.Handles (DisplayKHR) import Vulkan.Extensions.Handles (DisplayKHR(..)) import Vulkan.Extensions.Handles (DisplayModeKHR) import Vulkan.Extensions.Handles (DisplayModeKHR(..))-import Vulkan.Core10.SharedTypes (Extent2D)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -105,7 +105,7 @@ import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceDisplayPlanePropertiesKHR)) import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceDisplayPropertiesKHR)) import Vulkan.Core10.Handles (Instance_T)-import Vulkan.Core10.SharedTypes (Offset2D)+import Vulkan.Core10.FundamentalTypes (Offset2D) import Vulkan.Core10.Handles (PhysicalDevice) import Vulkan.Core10.Handles (PhysicalDevice(..)) import Vulkan.Core10.Handles (PhysicalDevice_T)@@ -695,9 +695,10 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Extensions.Handles.DisplayKHR',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Extensions.Handles.DisplayKHR', -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayProperties2KHR',--- 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagsKHR', -- 'getPhysicalDeviceDisplayPropertiesKHR' data DisplayPropertiesKHR = DisplayPropertiesKHR@@ -721,9 +722,9 @@     -- describing which transforms are supported by this display.     supportedTransforms :: SurfaceTransformFlagsKHR   , -- | @planeReorderPossible@ tells whether the planes on this display /can/-    -- have their z order changed. If this is 'Vulkan.Core10.BaseType.TRUE',-    -- the application /can/ re-arrange the planes on this display in any order-    -- relative to each other.+    -- have their z order changed. If this is+    -- 'Vulkan.Core10.FundamentalTypes.TRUE', the application /can/ re-arrange+    -- the planes on this display in any order relative to each other.     planeReorderPossible :: Bool   , -- | @persistentContent@ tells whether the display supports     -- self-refresh\/internal buffering. If this is true, the application /can/@@ -860,7 +861,7 @@ -- = See Also -- -- 'DisplayModeCreateInfoKHR', 'DisplayModePropertiesKHR',--- 'Vulkan.Core10.SharedTypes.Extent2D'+-- 'Vulkan.Core10.FundamentalTypes.Extent2D' data DisplayModeParametersKHR = DisplayModeParametersKHR   { -- | @visibleRegion@ is the 2D extents of the visible region.     visibleRegion :: Extent2D@@ -1046,8 +1047,9 @@ -- -- 'DisplayPlaneAlphaFlagsKHR', -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneCapabilities2KHR',--- 'Vulkan.Core10.SharedTypes.Extent2D',--- 'Vulkan.Core10.SharedTypes.Offset2D', 'getDisplayPlaneCapabilitiesKHR'+-- 'Vulkan.Core10.FundamentalTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Offset2D',+-- 'getDisplayPlaneCapabilitiesKHR' data DisplayPlaneCapabilitiesKHR = DisplayPlaneCapabilitiesKHR   { -- | @supportedAlpha@ is a bitmask of 'DisplayPlaneAlphaFlagBitsKHR'     -- describing the supported alpha blending modes.@@ -1160,8 +1162,8 @@ -- -   If the @planeReorderPossible@ member of the 'DisplayPropertiesKHR' --     structure returned by 'getPhysicalDeviceDisplayPropertiesKHR' for --     the display corresponding to @displayMode@ is---     'Vulkan.Core10.BaseType.TRUE' then @planeStackIndex@ /must/ be less---     than the number of display planes supported by the device as+--     'Vulkan.Core10.FundamentalTypes.TRUE' then @planeStackIndex@ /must/+--     be less than the number of display planes supported by the device as --     determined by calling 'getPhysicalDeviceDisplayPlanePropertiesKHR'; --     otherwise @planeStackIndex@ /must/ equal the @currentStackIndex@ --     member of 'DisplayPlanePropertiesKHR' returned by@@ -1201,7 +1203,7 @@ -- -- 'Vulkan.Extensions.Handles.DisplayModeKHR', -- 'DisplayPlaneAlphaFlagBitsKHR', 'DisplaySurfaceCreateFlagsKHR',--- 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR', -- 'createDisplayPlaneSurfaceKHR'
src/Vulkan/Extensions/VK_KHR_display_swapchain.hs view
@@ -49,20 +49,20 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.CStruct.Extends (pokeSomeCStruct) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkCreateSharedSwapchainsKHR)) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..)) import Vulkan.CStruct.Extends (SomeStruct)@@ -221,7 +221,7 @@ --     returned by --     'Vulkan.Extensions.VK_KHR_display.getPhysicalDeviceDisplayPropertiesKHR' --     for the display the present operation targets then @persistent@---     /must/ be 'Vulkan.Core10.BaseType.FALSE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.FALSE' -- -- == Valid Usage (Implicit) --@@ -230,8 +230,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data DisplayPresentInfoKHR = DisplayPresentInfoKHR   { -- | @srcRect@ is a rectangular region of pixels to present. It /must/ be a@@ -250,12 +250,12 @@     -- rectangle are outside of the display’s visible region, pixels mapping     -- only to those portions of the rectangle will be discarded.     dstRect :: Rect2D-  , -- | @persistent@: If this is 'Vulkan.Core10.BaseType.TRUE', the display-    -- engine will enable buffered mode on displays that support it. This-    -- allows the display engine to stop sending content to the display until a-    -- new image is presented. The display will instead maintain a copy of the-    -- last presented image. This allows less power to be used, but /may/-    -- increase presentation latency. If 'DisplayPresentInfoKHR' is not+  , -- | @persistent@: If this is 'Vulkan.Core10.FundamentalTypes.TRUE', the+    -- display engine will enable buffered mode on displays that support it.+    -- This allows the display engine to stop sending content to the display+    -- until a new image is presented. The display will instead maintain a copy+    -- of the last presented image. This allows less power to be used, but+    -- /may/ increase presentation latency. If 'DisplayPresentInfoKHR' is not     -- specified, persistent mode will not be used.     persistent :: Bool   }
src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs view
@@ -41,7 +41,7 @@ import Foreign.Ptr (Ptr) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Extensions.WSITypes (DWORD)+import Vulkan.Extensions.VK_NV_external_memory_win32 (DWORD) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetFenceWin32HandleKHR))@@ -52,11 +52,11 @@ import Vulkan.Core11.Enums.FenceImportFlagBits (FenceImportFlags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (HANDLE)-import Vulkan.Extensions.WSITypes (LPCWSTR)+import Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE)+import Vulkan.Extensions.VK_KHR_external_memory_win32 (LPCWSTR) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..))-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES)+import Vulkan.Extensions.VK_NV_external_memory_win32 (SECURITY_ATTRIBUTES) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -66,10 +66,10 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (DWORD)-import Vulkan.Extensions.WSITypes (HANDLE)-import Vulkan.Extensions.WSITypes (LPCWSTR)-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES)+import Vulkan.Extensions.VK_NV_external_memory_win32 (DWORD)+import Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE)+import Vulkan.Extensions.VK_KHR_external_memory_win32 (LPCWSTR)+import Vulkan.Extensions.VK_NV_external_memory_win32 (SECURITY_ATTRIBUTES) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -370,7 +370,8 @@ --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR' -- -- -   If @pAttributes@ is not @NULL@, @pAttributes@ /must/ be a valid---     pointer to a valid 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES'+--     pointer to a valid+--     'Vulkan.Extensions.VK_NV_external_memory_win32.SECURITY_ATTRIBUTES' --     value -- -- = See Also@@ -378,11 +379,11 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType' data ExportFenceWin32HandleInfoKHR = ExportFenceWin32HandleInfoKHR   { -- | @pAttributes@ is a pointer to a Windows-    -- 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES' structure specifying-    -- security attributes of the handle.+    -- 'Vulkan.Extensions.VK_NV_external_memory_win32.SECURITY_ATTRIBUTES'+    -- structure specifying security attributes of the handle.     attributes :: Ptr SECURITY_ATTRIBUTES-  , -- | @dwAccess@ is a 'Vulkan.Extensions.WSITypes.DWORD' specifying access-    -- rights of the handle.+  , -- | @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 synchronization primitive referenced by NT handles exported
src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs view
@@ -9,9 +9,9 @@                                                        , pattern KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION                                                        , KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME                                                        , pattern KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+                                                       , LPCWSTR                                                        , HANDLE                                                        , DWORD-                                                       , LPCWSTR                                                        , SECURITY_ATTRIBUTES                                                        ) where @@ -31,6 +31,7 @@ import Control.Monad.IO.Class (MonadIO) import Data.String (IsString) import Data.Typeable (Typeable)+import Foreign.C.Types (CWchar) import Foreign.Storable (Storable) import Foreign.Storable (Storable(peek)) import Foreign.Storable (Storable(poke))@@ -43,7 +44,7 @@ import Data.Word (Word32) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Extensions.WSITypes (DWORD)+import Vulkan.Extensions.VK_NV_external_memory_win32 (DWORD) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetMemoryWin32HandleKHR))@@ -54,11 +55,10 @@ import Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits (ExternalMemoryHandleTypeFlagBits(..)) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (HANDLE)-import Vulkan.Extensions.WSITypes (LPCWSTR)+import Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..))-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES)+import Vulkan.Extensions.VK_NV_external_memory_win32 (SECURITY_ATTRIBUTES) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -69,10 +69,9 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (DWORD)-import Vulkan.Extensions.WSITypes (HANDLE)-import Vulkan.Extensions.WSITypes (LPCWSTR)-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES)+import Vulkan.Extensions.VK_NV_external_memory_win32 (DWORD)+import Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE)+import Vulkan.Extensions.VK_NV_external_memory_win32 (SECURITY_ATTRIBUTES) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -368,7 +367,8 @@ --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR' -- -- -   If @pAttributes@ is not @NULL@, @pAttributes@ /must/ be a valid---     pointer to a valid 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES'+--     pointer to a valid+--     'Vulkan.Extensions.VK_NV_external_memory_win32.SECURITY_ATTRIBUTES' --     value -- -- = See Also@@ -376,11 +376,11 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType' data ExportMemoryWin32HandleInfoKHR = ExportMemoryWin32HandleInfoKHR   { -- | @pAttributes@ is a pointer to a Windows-    -- 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES' structure specifying-    -- security attributes of the handle.+    -- 'Vulkan.Extensions.VK_NV_external_memory_win32.SECURITY_ATTRIBUTES'+    -- structure specifying security attributes of the handle.     attributes :: Ptr SECURITY_ATTRIBUTES-  , -- | @dwAccess@ is a 'Vulkan.Extensions.WSITypes.DWORD' specifying access-    -- rights of the handle.+  , -- | @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@@ -587,4 +587,7 @@ -- No documentation found for TopLevel "VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME" pattern KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_KHR_external_memory_win32"+++type LPCWSTR = Ptr CWchar 
src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs view
@@ -50,7 +50,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Extensions.WSITypes (DWORD)+import Vulkan.Extensions.VK_NV_external_memory_win32 (DWORD) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetSemaphoreWin32HandleKHR))@@ -59,11 +59,11 @@ import Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits (ExternalSemaphoreHandleTypeFlagBits) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (HANDLE)-import Vulkan.Extensions.WSITypes (LPCWSTR)+import Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE)+import Vulkan.Extensions.VK_KHR_external_memory_win32 (LPCWSTR) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..))-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES)+import Vulkan.Extensions.VK_NV_external_memory_win32 (SECURITY_ATTRIBUTES) import Vulkan.Core10.Handles (Semaphore) import Vulkan.Core11.Enums.SemaphoreImportFlagBits (SemaphoreImportFlags) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -76,10 +76,10 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (DWORD)-import Vulkan.Extensions.WSITypes (HANDLE)-import Vulkan.Extensions.WSITypes (LPCWSTR)-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES)+import Vulkan.Extensions.VK_NV_external_memory_win32 (DWORD)+import Vulkan.Extensions.VK_NV_external_memory_win32 (HANDLE)+import Vulkan.Extensions.VK_KHR_external_memory_win32 (LPCWSTR)+import Vulkan.Extensions.VK_NV_external_memory_win32 (SECURITY_ATTRIBUTES) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -427,7 +427,8 @@ --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR' -- -- -   If @pAttributes@ is not @NULL@, @pAttributes@ /must/ be a valid---     pointer to a valid 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES'+--     pointer to a valid+--     'Vulkan.Extensions.VK_NV_external_memory_win32.SECURITY_ATTRIBUTES' --     value -- -- = See Also@@ -435,11 +436,11 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType' data ExportSemaphoreWin32HandleInfoKHR = ExportSemaphoreWin32HandleInfoKHR   { -- | @pAttributes@ is a pointer to a Windows-    -- 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES' structure specifying-    -- security attributes of the handle.+    -- 'Vulkan.Extensions.VK_NV_external_memory_win32.SECURITY_ATTRIBUTES'+    -- structure specifying security attributes of the handle.     attributes :: Ptr SECURITY_ATTRIBUTES-  , -- | @dwAccess@ is a 'Vulkan.Extensions.WSITypes.DWORD' specifying access-    -- rights of the handle.+  , -- | @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 synchronization primitive referenced by NT handles exported
src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs view
@@ -10,6 +10,7 @@                                                           , BufferMemoryRequirementsInfo2KHR                                                           , ImageMemoryRequirementsInfo2KHR                                                           , ImageSparseMemoryRequirementsInfo2KHR+                                                          , MemoryRequirements2KHR                                                           , SparseImageMemoryRequirements2KHR                                                           , KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION                                                           , pattern KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION@@ -24,6 +25,7 @@ import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (BufferMemoryRequirementsInfo2) import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (ImageMemoryRequirementsInfo2) import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (ImageSparseMemoryRequirementsInfo2)+import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (MemoryRequirements2) import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (SparseImageMemoryRequirements2) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2))@@ -72,6 +74,10 @@  -- No documentation found for TopLevel "VkImageSparseMemoryRequirementsInfo2KHR" type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2+++-- No documentation found for TopLevel "VkMemoryRequirements2KHR"+type MemoryRequirements2KHR = MemoryRequirements2   -- No documentation found for TopLevel "VkSparseImageMemoryRequirements2KHR"
+ src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs-boot view
@@ -0,0 +1,8 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_KHR_get_memory_requirements2  (MemoryRequirements2KHR) where+++import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (MemoryRequirements2)+-- No documentation found for TopLevel "VkMemoryRequirements2KHR"+type MemoryRequirements2KHR = MemoryRequirements2+
src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs view
@@ -343,7 +343,7 @@ -- 'getPhysicalDeviceSurfaceFormats2KHR', -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getPhysicalDeviceSurfacePresentModes2EXT' data PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) = PhysicalDeviceSurfaceInfo2KHR-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @surface@ is the surface that will be associated with the swapchain.     surface :: SurfaceKHR@@ -421,7 +421,7 @@ -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR', -- 'getPhysicalDeviceSurfaceCapabilities2KHR' data SurfaceCapabilities2KHR (es :: [Type]) = SurfaceCapabilities2KHR-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @surfaceCapabilities@ is a     -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR' structure
src/Vulkan/Extensions/VK_KHR_incremental_present.hs view
@@ -32,10 +32,10 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.SharedTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Extent2D) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Core10.SharedTypes (Offset2D)+import Vulkan.Core10.FundamentalTypes (Offset2D) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -216,8 +216,8 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent2D',--- 'Vulkan.Core10.SharedTypes.Offset2D', 'PresentRegionKHR'+-- 'Vulkan.Core10.FundamentalTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Offset2D', 'PresentRegionKHR' data RectLayerKHR = RectLayerKHR   { -- | @offset@ is the origin of the rectangle, in pixels.     offset :: Offset2D
src/Vulkan/Extensions/VK_KHR_performance_query.hs view
@@ -110,20 +110,20 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.CStruct.Utils (peekByteStringFromSizedVectorPtr) import Vulkan.CStruct.Utils (pokeFixedLengthByteString) import Vulkan.CStruct.Utils (pokeFixedLengthNullTerminatedByteString) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkAcquireProfilingLockKHR)) import Vulkan.Dynamic (DeviceCmds(pVkReleaseProfilingLockKHR)) import Vulkan.Core10.Handles (Device_T)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Dynamic (InstanceCmds(pVkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR))@@ -399,15 +399,15 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDevicePerformanceQueryFeaturesKHR = PhysicalDevicePerformanceQueryFeaturesKHR-  { -- | @performanceCounterQueryPools@ is 'Vulkan.Core10.BaseType.TRUE' if the-    -- physical device supports performance counter query pools.+  { -- | @performanceCounterQueryPools@ is 'Vulkan.Core10.FundamentalTypes.TRUE'+    -- if the physical device supports performance counter query pools.     performanceCounterQueryPools :: Bool   , -- | @performanceCounterMultipleQueryPools@ is-    -- 'Vulkan.Core10.BaseType.TRUE'\` if the physical device supports using-    -- multiple performance query pools in a primary command buffer and+    -- 'Vulkan.Core10.FundamentalTypes.TRUE'\` if the physical device supports+    -- using multiple performance query pools in a primary command buffer and     -- secondary command buffers executed within it.     performanceCounterMultipleQueryPools :: Bool   }@@ -470,11 +470,11 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDevicePerformanceQueryPropertiesKHR = PhysicalDevicePerformanceQueryPropertiesKHR-  { -- | @allowCommandBufferQueryCopies@ is 'Vulkan.Core10.BaseType.TRUE' if the-    -- performance query pools are allowed to be used with+  { -- | @allowCommandBufferQueryCopies@ is 'Vulkan.Core10.FundamentalTypes.TRUE'+    -- if the performance query pools are allowed to be used with     -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults'.     allowCommandBufferQueryCopies :: Bool }   deriving (Typeable, Eq)
src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs view
@@ -77,12 +77,12 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.CStruct.Utils (pokeFixedLengthNullTerminatedByteString) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetPipelineExecutableInternalRepresentationsKHR))@@ -422,7 +422,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDevicePipelineExecutablePropertiesFeaturesKHR = PhysicalDevicePipelineExecutablePropertiesFeaturesKHR   { -- | @pipelineExecutableInfo@ indicates that the implementation supports@@ -764,14 +764,15 @@ -- representation data, at most @dataSize@ bytes of data will be written to -- @pData@ and 'getPipelineExecutableInternalRepresentationsKHR' will -- return 'Vulkan.Core10.Enums.Result.INCOMPLETE'. If @isText@ is--- 'Vulkan.Core10.BaseType.TRUE' and @pData@ is not @NULL@ and @dataSize@--- is not zero, the last byte written to @pData@ will be a null character.+-- 'Vulkan.Core10.FundamentalTypes.TRUE' and @pData@ is not @NULL@ and+-- @dataSize@ is not zero, the last byte written to @pData@ will be a null+-- character. -- -- == Valid Usage (Implicit) -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'getPipelineExecutableInternalRepresentationsKHR' data PipelineExecutableInternalRepresentationKHR = PipelineExecutableInternalRepresentationKHR@@ -785,8 +786,9 @@     -- this internal representation.     description :: ByteString   , -- | @isText@ specifies whether the returned data is text or opaque data. If-    -- @isText@ is 'Vulkan.Core10.BaseType.TRUE' then the data returned in-    -- @pData@ is text and is guaranteed to be a null-terminated UTF-8 string.+    -- @isText@ is 'Vulkan.Core10.FundamentalTypes.TRUE' then the data returned+    -- in @pData@ is text and is guaranteed to be a null-terminated UTF-8+    -- string.     isText :: Bool   , -- | @dataSize@ is an integer related to the size, in bytes, of the internal     -- representation data, as described below.@@ -894,9 +896,9 @@  -- | 'PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR' specifies that the -- statistic is returned as a 32-bit boolean value which /must/ be either--- 'Vulkan.Core10.BaseType.TRUE' or 'Vulkan.Core10.BaseType.FALSE' and--- /should/ be read from the @b32@ field of--- 'PipelineExecutableStatisticValueKHR'.+-- 'Vulkan.Core10.FundamentalTypes.TRUE' or+-- 'Vulkan.Core10.FundamentalTypes.FALSE' and /should/ be read from the+-- @b32@ field of 'PipelineExecutableStatisticValueKHR'. pattern PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = PipelineExecutableStatisticFormatKHR 0 -- | 'PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR' specifies that the -- statistic is returned as a signed 64-bit integer and /should/ be read
src/Vulkan/Extensions/VK_KHR_ray_tracing.hs view
@@ -183,8 +183,8 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.CStruct.Extends (peekSomeCStruct)@@ -193,7 +193,7 @@ import Vulkan.Extensions.Handles (AccelerationStructureKHR) import Vulkan.Extensions.Handles (AccelerationStructureKHR(..)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Buffer) import Vulkan.Core10.Handles (Buffer(..)) import Vulkan.CStruct.Extends (Chain)@@ -203,7 +203,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_deferred_host_operations (DeferredOperationInfoKHR) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..))-import Vulkan.Core10.BaseType (DeviceAddress)+import Vulkan.Core10.FundamentalTypes (DeviceAddress) import Vulkan.Dynamic (DeviceCmds(pVkBindAccelerationStructureMemoryKHR)) import Vulkan.Dynamic (DeviceCmds(pVkBuildAccelerationStructureKHR)) import Vulkan.Dynamic (DeviceCmds(pVkCmdBuildAccelerationStructureIndirectKHR))@@ -227,12 +227,12 @@ import Vulkan.Dynamic (DeviceCmds(pVkGetRayTracingShaderGroupHandlesKHR)) import Vulkan.Dynamic (DeviceCmds(pVkWriteAccelerationStructuresPropertiesKHR)) import Vulkan.Core10.Handles (DeviceMemory)-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Core10.Enums.Format (Format) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -264,7 +264,7 @@ import Vulkan.Exception (VulkanException(..)) import Vulkan.Zero (Zero) import Vulkan.Zero (Zero(..))-import Vulkan.Core10.BaseType (Bool32(FALSE))+import Vulkan.Core10.FundamentalTypes (Bool32(FALSE)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR))@@ -495,6 +495,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -705,6 +707,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -904,6 +908,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -1090,6 +1096,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -1180,20 +1188,22 @@ -- -   If @queryType@ is --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR', --     then @stride@ /must/ be a multiple of the size of---     'Vulkan.Core10.BaseType.DeviceSize'+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' -- -- -   If @queryType@ is --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR',---     then @data@ /must/ point to a 'Vulkan.Core10.BaseType.DeviceSize'+--     then @data@ /must/ point to a+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' -- -- -   If @queryType@ is --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR', --     then @stride@ /must/ be a multiple of the size of---     'Vulkan.Core10.BaseType.DeviceSize'+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' -- -- -   If @queryType@ is --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR',---     then @data@ /must/ point to a 'Vulkan.Core10.BaseType.DeviceSize'+--     then @data@ /must/ point to a+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' -- -- -   @dataSize@ /must/ be greater than or equal to --     @accelerationStructureCount@*@stride@@@ -1616,6 +1626,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -1682,9 +1694,12 @@ -- -- == Valid Usage ----- -   The sum of @firstGroup@ and @groupCount@ /must/ be less than the---     number of shader groups in @pipeline@+-- -   @firstGroup@ /must/ be less than the number of shader groups in+--     @pipeline@ --+-- -   The sum of @firstGroup@ and @groupCount@ /must/ be less than or+--     equal to the number of shader groups in @pipeline@+-- -- -   @dataSize@ /must/ be at least --     'PhysicalDeviceRayTracingPropertiesKHR'::@shaderGroupHandleSize@ × --     @groupCount@@@ -1760,9 +1775,12 @@ -- -- == Valid Usage ----- -   The sum of @firstGroup@ and @groupCount@ /must/ be less than the---     number of shader groups in @pipeline@+-- -   @firstGroup@ /must/ be less than the number of shader groups in+--     @pipeline@ --+-- -   The sum of @firstGroup@ and @groupCount@ /must/ be less than or+--     equal to the number of shader groups in @pipeline@+-- -- -   @dataSize@ /must/ be at least --     'PhysicalDeviceRayTracingPropertiesKHR'::@shaderGroupHandleCaptureReplaySize@ --     × @groupCount@@@ -2294,6 +2312,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -2311,7 +2331,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize', 'StridedBufferRegionKHR'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'StridedBufferRegionKHR' cmdTraceRaysIndirectKHR :: forall io                          . (MonadIO io)                         => -- | @commandBuffer@ is the command buffer into which the command will be@@ -2589,14 +2609,16 @@ --     'AccelerationStructureGeometryTrianglesDataKHR'::@transformData@ is --     both 0 or both non-zero, and all other parameters are the same ----- -   For each @pInfos@[i], if @update@ is 'Vulkan.Core10.BaseType.TRUE',---     then objects that were previously active for that acceleration---     structure /must/ not be made inactive as per+-- -   For each @pInfos@[i], if @update@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', then objects that were+--     previously active for that acceleration structure /must/ not be made+--     inactive as per --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims ???> ----- -   For each @pInfos@[i], if @update@ is 'Vulkan.Core10.BaseType.TRUE',---     then objects that were previously inactive for that acceleration---     structure /must/ not be made active as per+-- -   For each @pInfos@[i], if @update@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', then objects that were+--     previously inactive for that acceleration structure /must/ not be+--     made active as per --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims ???> -- -- -   Any acceleration structure instance in any top level build in this@@ -2614,9 +2636,9 @@ --     between memory bound to any top level, bottom level, or instance --     acceleration structure accessed by this command ----- -   If @update@ is 'Vulkan.Core10.BaseType.FALSE', all addresses between---     @pInfos@[i].@scratchData@ and @pInfos@[i].@scratchData@ + N - 1---     /must/ be in the buffer device address range of the same buffer,+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.FALSE', all addresses+--     between @pInfos@[i].@scratchData@ and @pInfos@[i].@scratchData@ + N+--     - 1 /must/ be in the buffer device address range of the same buffer, --     where N is given by the @size@ member of the --     'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure --     returned from a call to@@ -2626,9 +2648,9 @@ --     'AccelerationStructureMemoryRequirementsInfoKHR'::@type@ set to --     'ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR' ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', all addresses between---     @pInfos@[i].@scratchData@ and @pInfos@[i].@scratchData@ + N - 1---     /must/ be in the buffer device address range of the same buffer,+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', all addresses+--     between @pInfos@[i].@scratchData@ and @pInfos@[i].@scratchData@ + N+--     - 1 /must/ be in the buffer device address range of the same buffer, --     where N is given by the @size@ member of the --     'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure --     returned from a call to@@ -2680,6 +2702,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -2789,6 +2813,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -2807,7 +2833,7 @@ -- -- 'AccelerationStructureBuildGeometryInfoKHR', -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdBuildAccelerationStructureIndirectKHR :: forall a io                                           . (Extendss AccelerationStructureBuildGeometryInfoKHR a, PokeChain a, MonadIO io)                                          => -- | @commandBuffer@ is the command buffer into which the command will be@@ -2921,14 +2947,16 @@ --     'AccelerationStructureGeometryTrianglesDataKHR'::@transformData@ is --     both 0 or both non-zero, and all other parameters are the same ----- -   For each @pInfos@[i], if @update@ is 'Vulkan.Core10.BaseType.TRUE',---     then objects that were previously active for that acceleration---     structure /must/ not be made inactive as per+-- -   For each @pInfos@[i], if @update@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', then objects that were+--     previously active for that acceleration structure /must/ not be made+--     inactive as per --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims ???> ----- -   For each @pInfos@[i], if @update@ is 'Vulkan.Core10.BaseType.TRUE',---     then objects that were previously inactive for that acceleration---     structure /must/ not be made active as per+-- -   For each @pInfos@[i], if @update@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', then objects that were+--     previously inactive for that acceleration structure /must/ not be+--     made active as per --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims ???> -- -- -   Any acceleration structure instance in any top level build in this@@ -3118,15 +3146,15 @@ -- -- -   If --     'PhysicalDeviceRayTracingFeaturesKHR'::@rayTracingShaderGroupHandleCaptureReplayMixed@---     is 'Vulkan.Core10.BaseType.FALSE' then+--     is 'Vulkan.Core10.FundamentalTypes.FALSE' then --     @pShaderGroupCaptureReplayHandle@ /must/ not be provided if it has --     not been provided on a previous call to ray tracing pipeline --     creation -- -- -   If --     'PhysicalDeviceRayTracingFeaturesKHR'::@rayTracingShaderGroupHandleCaptureReplayMixed@---     is 'Vulkan.Core10.BaseType.FALSE' then the caller /must/ guarantee---     that no ray tracing pipeline creation commands with+--     is 'Vulkan.Core10.FundamentalTypes.FALSE' then the caller /must/+--     guarantee that no ray tracing pipeline creation commands with --     @pShaderGroupCaptureReplayHandle@ provided execute simultaneously --     with ray tracing pipeline creation commands without --     @pShaderGroupCaptureReplayHandle@ provided@@ -3176,7 +3204,7 @@   , -- | @pShaderGroupCaptureReplayHandle@ is an optional pointer to replay     -- information for this shader group. Ignored if     -- 'PhysicalDeviceRayTracingFeaturesKHR'::@rayTracingShaderGroupHandleCaptureReplay@-    -- is 'Vulkan.Core10.BaseType.FALSE'.+    -- is 'Vulkan.Core10.FundamentalTypes.FALSE'.     shaderGroupCaptureReplayHandle :: Ptr ()   }   deriving (Typeable)@@ -3434,7 +3462,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createRayTracingPipelinesKHR' data RayTracingPipelineCreateInfoKHR (es :: [Type]) = RayTracingPipelineCreateInfoKHR-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'@@ -3622,7 +3650,7 @@ -- -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR', -- 'Vulkan.Core10.Handles.DeviceMemory',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'bindAccelerationStructureMemoryKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.bindAccelerationStructureMemoryNV'@@ -3866,9 +3894,9 @@ -- -   @rayTracingShaderGroupHandleCaptureReplayMixed@ indicates whether --     the implementation supports reuse of shader group handles being --     arbitrarily mixed with creation of non-reused shader group handles.---     If this is 'Vulkan.Core10.BaseType.FALSE', all reused shader group---     handles /must/ be specified before any non-reused handles /may/ be---     created.+--     If this is 'Vulkan.Core10.FundamentalTypes.FALSE', all reused shader+--     group handles /must/ be specified before any non-reused handles+--     /may/ be created. -- -- -   @rayTracingAccelerationStructureCaptureReplay@ indicates whether the --     implementation supports saving and reusing acceleration structure@@ -3907,9 +3935,9 @@ -- == Valid Usage -- -- -   If @rayTracingShaderGroupHandleCaptureReplayMixed@ is---     'Vulkan.Core10.BaseType.TRUE',+--     'Vulkan.Core10.FundamentalTypes.TRUE', --     @rayTracingShaderGroupHandleCaptureReplay@ /must/ also be---     'Vulkan.Core10.BaseType.TRUE'+--     'Vulkan.Core10.FundamentalTypes.TRUE' -- -- == Valid Usage (Implicit) --@@ -3918,7 +3946,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceRayTracingFeaturesKHR = PhysicalDeviceRayTracingFeaturesKHR   { -- No documentation found for Nested "VkPhysicalDeviceRayTracingFeaturesKHR" "rayTracing"@@ -4145,8 +4173,9 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.BaseType.DeviceSize',--- 'cmdTraceRaysIndirectKHR', 'cmdTraceRaysKHR'+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'cmdTraceRaysIndirectKHR',+-- 'cmdTraceRaysKHR' data StridedBufferRegionKHR = StridedBufferRegionKHR   { -- | @buffer@ is the buffer containing this region.     buffer :: Buffer@@ -4301,7 +4330,7 @@ -- = See Also -- -- 'AccelerationStructureGeometryDataKHR', 'DeviceOrHostAddressConstKHR',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.Format.Format', -- 'Vulkan.Core10.Enums.IndexType.IndexType', -- 'Vulkan.Core10.Enums.StructureType.StructureType'@@ -4373,7 +4402,7 @@ -- = See Also -- -- 'AccelerationStructureGeometryDataKHR', 'DeviceOrHostAddressConstKHR',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data AccelerationStructureGeometryAabbsDataKHR = AccelerationStructureGeometryAabbsDataKHR   { -- | @data@ is a device or host address to memory containing@@ -4439,8 +4468,8 @@ -- -- = See Also ----- 'AccelerationStructureGeometryDataKHR', 'Vulkan.Core10.BaseType.Bool32',--- 'DeviceOrHostAddressConstKHR',+-- 'AccelerationStructureGeometryDataKHR',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'DeviceOrHostAddressConstKHR', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data AccelerationStructureGeometryInstancesDataKHR = AccelerationStructureGeometryInstancesDataKHR   { -- | @arrayOfPointers@ specifies whether @data@ is used as an array of@@ -4448,8 +4477,8 @@     arrayOfPointers :: Bool   , -- | @data@ is either the address of an array of device or host addresses     -- referencing individual 'AccelerationStructureInstanceKHR' structures if-    -- @arrayOfPointers@ is 'Vulkan.Core10.BaseType.TRUE', or the address of an-    -- array of 'AccelerationStructureInstanceKHR' structures.+    -- @arrayOfPointers@ is 'Vulkan.Core10.FundamentalTypes.TRUE', or the+    -- address of an array of 'AccelerationStructureInstanceKHR' structures.     data' :: DeviceOrHostAddressConstKHR   }   deriving (Typeable)@@ -4507,9 +4536,18 @@ -- -- -   @geometryType@ /must/ be a valid 'GeometryTypeKHR' value ----- -   @geometry@ /must/ be a valid 'AccelerationStructureGeometryDataKHR'---     union+-- -   If @geometryType@ is 'GEOMETRY_TYPE_TRIANGLES_KHR', the @triangles@+--     member of @geometry@ /must/ be a valid+--     'AccelerationStructureGeometryTrianglesDataKHR' structure --+-- -   If @geometryType@ is 'GEOMETRY_TYPE_AABBS_KHR', the @aabbs@ member+--     of @geometry@ /must/ be a valid+--     'AccelerationStructureGeometryAabbsDataKHR' structure+--+-- -   If @geometryType@ is 'GEOMETRY_TYPE_INSTANCES_KHR', the @instances@+--     member of @geometry@ /must/ be a valid+--     'AccelerationStructureGeometryInstancesDataKHR' structure+-- -- -   @flags@ /must/ be a valid combination of 'GeometryFlagBitsKHR' --     values --@@ -4578,11 +4616,11 @@ -- -- == Valid Usage ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE',+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', --     @srcAccelerationStructure@ /must/ not be --     'Vulkan.Core10.APIConstants.NULL_HANDLE' ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE',+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', --     @srcAccelerationStructure@ /must/ have been built before with --     'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR' set in --     'AccelerationStructureBuildGeometryInfoKHR'::@flags@@@ -4591,7 +4629,7 @@ --     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RAY_TRACING_BIT_KHR' --     usage flag ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', the+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the --     @srcAccelerationStructure@ and @dstAccelerationStructure@ objects --     /must/ either be the same object or not have any --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-memory-aliasing memory aliasing>@@ -4631,14 +4669,14 @@ -- -- 'AccelerationStructureGeometryKHR', -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',--- 'AccelerationStructureTypeKHR', 'Vulkan.Core10.BaseType.Bool32',+-- 'AccelerationStructureTypeKHR', 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'BuildAccelerationStructureFlagsKHR', 'DeviceOrHostAddressKHR', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'buildAccelerationStructureKHR', -- 'cmdBuildAccelerationStructureIndirectKHR', -- 'cmdBuildAccelerationStructureKHR' data AccelerationStructureBuildGeometryInfoKHR (es :: [Type]) = AccelerationStructureBuildGeometryInfoKHR-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @type@ is a 'AccelerationStructureTypeKHR' value specifying the type of     -- acceleration structure being built.@@ -4651,18 +4689,18 @@     update :: Bool   , -- | @srcAccelerationStructure@ points to an existing acceleration structure     -- that is to be used to update the @dst@ acceleration structure when-    -- @update@ is 'Vulkan.Core10.BaseType.TRUE'.+    -- @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE'.     srcAccelerationStructure :: AccelerationStructureKHR   , -- | @dstAccelerationStructure@ points to the target acceleration structure     -- for the build.     dstAccelerationStructure :: AccelerationStructureKHR   , -- | @ppGeometries@ is either a pointer to an array of pointers to     -- 'AccelerationStructureGeometryKHR' structures if-    -- @geometryArrayOfPointers@ is 'Vulkan.Core10.BaseType.TRUE', or a pointer-    -- to a pointer to an array of 'AccelerationStructureGeometryKHR'-    -- structures if it is 'Vulkan.Core10.BaseType.FALSE'. Each element of the-    -- array describes the data used to build each acceleration structure-    -- geometry.+    -- @geometryArrayOfPointers@ is 'Vulkan.Core10.FundamentalTypes.TRUE', or a+    -- pointer to a pointer to an array of 'AccelerationStructureGeometryKHR'+    -- structures if it is 'Vulkan.Core10.FundamentalTypes.FALSE'. Each element+    -- of the array describes the data used to build each acceleration+    -- structure geometry.     geometries :: Vector AccelerationStructureGeometryKHR   , -- | @scratchData@ is the device or host address to memory that will be used     -- as scratch memory for the build.@@ -4908,7 +4946,8 @@ -- -- = See Also ----- 'AccelerationStructureCreateInfoKHR', 'Vulkan.Core10.BaseType.Bool32',+-- 'AccelerationStructureCreateInfoKHR',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.Format.Format', 'GeometryTypeKHR', -- 'Vulkan.Core10.Enums.IndexType.IndexType', -- 'Vulkan.Core10.Enums.StructureType.StructureType'@@ -5054,7 +5093,7 @@ -- -- -   If @deviceAddress@ is not @0@, --     'PhysicalDeviceRayTracingFeaturesKHR'::@rayTracingAccelerationStructureCaptureReplay@---     /must/ be 'Vulkan.Core10.BaseType.TRUE'+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- == Valid Usage (Implicit) --@@ -5076,8 +5115,8 @@ -- -- 'AccelerationStructureCreateGeometryTypeInfoKHR', -- 'AccelerationStructureTypeKHR', 'BuildAccelerationStructureFlagsKHR',--- 'Vulkan.Core10.BaseType.DeviceAddress',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createAccelerationStructureKHR' data AccelerationStructureCreateInfoKHR = AccelerationStructureCreateInfoKHR@@ -6104,7 +6143,8 @@  -- | 'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR' indicates that the -- specified acceleration structure /can/ be updated with @update@ of--- 'Vulkan.Core10.BaseType.TRUE' in 'cmdBuildAccelerationStructureKHR' or+-- 'Vulkan.Core10.FundamentalTypes.TRUE' in+-- 'cmdBuildAccelerationStructureKHR' or -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV' . pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = BuildAccelerationStructureFlagBitsKHR 0x00000001 -- | 'BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR' indicates that
src/Vulkan/Extensions/VK_KHR_shader_clock.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -45,7 +45,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderClockFeaturesKHR = PhysicalDeviceShaderClockFeaturesKHR   { -- | @shaderSubgroupClock@ indicates whether shaders /can/ support @Subgroup@
src/Vulkan/Extensions/VK_KHR_surface.hs view
@@ -103,13 +103,13 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (bool32ToBool) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))-import Vulkan.Core10.SharedTypes (Extent2D)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Core10.Enums.Format (Format) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -235,7 +235,7 @@ --     handle -- -- -   @pSupported@ /must/ be a valid pointer to a---     'Vulkan.Core10.BaseType.Bool32' value+--     'Vulkan.Core10.FundamentalTypes.Bool32' value -- -- -   Both of @physicalDevice@, and @surface@ /must/ have been created, --     allocated, or retrieved from the same@@ -257,7 +257,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.Handles.PhysicalDevice',+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Handles.PhysicalDevice', -- 'Vulkan.Extensions.Handles.SurfaceKHR' getPhysicalDeviceSurfaceSupportKHR :: forall io                                     . (MonadIO io)@@ -566,7 +567,7 @@ -- -- = See Also ----- 'CompositeAlphaFlagsKHR', 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'CompositeAlphaFlagsKHR', 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags', -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR', -- 'SurfaceTransformFlagBitsKHR', 'SurfaceTransformFlagsKHR',
src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -35,14 +35,14 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data SurfaceProtectedCapabilitiesKHR = SurfaceProtectedCapabilitiesKHR   { -- | @supportsProtected@ specifies whether a protected swapchain created from     -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR'::@surface@     -- for a particular windowing system /can/ be displayed on screen or not.-    -- If @supportsProtected@ is 'Vulkan.Core10.BaseType.TRUE', then creation-    -- of swapchains with the+    -- If @supportsProtected@ is 'Vulkan.Core10.FundamentalTypes.TRUE', then+    -- creation of swapchains with the     -- 'Vulkan.Extensions.VK_KHR_swapchain.SWAPCHAIN_CREATE_PROTECTED_BIT_KHR'     -- flag set /must/ be supported for @surface@.     supportsProtected :: Bool }
src/Vulkan/Extensions/VK_KHR_swapchain.hs view
@@ -96,13 +96,13 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct.Extends (Chain) import Vulkan.Extensions.VK_KHR_surface (ColorSpaceKHR) import Vulkan.Extensions.VK_KHR_surface (CompositeAlphaFlagBitsKHR)@@ -121,10 +121,10 @@ import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..))-import Vulkan.Core10.SharedTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Extent2D) import Vulkan.Core10.Handles (Fence) import Vulkan.Core10.Handles (Fence(..))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Core10.Enums.Format (Format) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -148,7 +148,7 @@ import Vulkan.Core10.Handles (Queue) import Vulkan.Core10.Handles (Queue(..)) import Vulkan.Core10.Handles (Queue_T)-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..)) import Vulkan.Core10.Handles (Semaphore)@@ -1111,7 +1111,7 @@ -- -- -   If the value referenced by @pRectCount@ is not @0@, and @pRects@ is --     not @NULL@, @pRects@ /must/ be a valid pointer to an array of---     @pRectCount@ 'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures+--     @pRectCount@ 'Vulkan.Core10.FundamentalTypes.Rect2D' structures -- -- -   Both of @physicalDevice@, and @surface@ /must/ have been created, --     allocated, or retrieved from the same@@ -1138,7 +1138,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.PhysicalDevice',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Extensions.Handles.SurfaceKHR' getPhysicalDevicePresentRectanglesKHR :: forall io                                        . (MonadIO io)@@ -1219,28 +1219,29 @@ --     discard rendering operations that affect regions of the surface that --     are not visible. -----     -   If set to 'Vulkan.Core10.BaseType.TRUE', the presentable images---         associated with the swapchain /may/ not own all of their pixels.---         Pixels in the presentable images that correspond to regions of---         the target surface obscured by another window on the desktop, or---         subject to some other clipping mechanism will have undefined---         content when read back. Fragment shaders /may/ not execute for---         these pixels, and thus any side effects they would have had will---         not occur. 'Vulkan.Core10.BaseType.TRUE' value does not---         guarantee any clipping will occur, but allows more optimal---         presentation methods to be used on some platforms.+--     -   If set to 'Vulkan.Core10.FundamentalTypes.TRUE', the presentable+--         images associated with the swapchain /may/ not own all of their+--         pixels. Pixels in the presentable images that correspond to+--         regions of the target surface obscured by another window on the+--         desktop, or subject to some other clipping mechanism will have+--         undefined content when read back. Fragment shaders /may/ not+--         execute for these pixels, and thus any side effects they would+--         have had will not occur. 'Vulkan.Core10.FundamentalTypes.TRUE'+--         value does not guarantee any clipping will occur, but allows+--         more optimal presentation methods to be used on some platforms. -----     -   If set to 'Vulkan.Core10.BaseType.FALSE', presentable images---         associated with the swapchain will own all of the pixels they---         contain.+--     -   If set to 'Vulkan.Core10.FundamentalTypes.FALSE', presentable+--         images associated with the swapchain will own all of the pixels+--         they contain. -- -- Note ----- Applications /should/ set this value to 'Vulkan.Core10.BaseType.TRUE' if--- they do not expect to read back the content of presentable images before--- presenting them or after reacquiring them, and if their fragment shaders--- do not have any side effects that require them to run for all pixels in--- the presentable image.+-- Applications /should/ set this value to+-- 'Vulkan.Core10.FundamentalTypes.TRUE' if they do not expect to read back+-- the content of presentable images before presenting them or after+-- reacquiring them, and if their fragment shaders do not have any side+-- effects that require them to run for all pixels in the presentable+-- image. -- -- -   @oldSwapchain@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE', or the --     existing non-retired swapchain currently associated with @surface@.@@ -1415,7 +1416,7 @@ -- -- -   If @flags@ contains 'SWAPCHAIN_CREATE_PROTECTED_BIT_KHR', then --     'Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR'::@supportsProtected@---     /must/ be 'Vulkan.Core10.BaseType.TRUE' in the+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' in the --     'Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR' --     structure returned by --     'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.getPhysicalDeviceSurfaceCapabilities2KHR'@@ -1490,10 +1491,10 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR', -- 'Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR',--- 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.Format.Format', -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags', -- 'Vulkan.Extensions.VK_KHR_surface.PresentModeKHR',@@ -1505,7 +1506,7 @@ -- 'Vulkan.Extensions.VK_KHR_display_swapchain.createSharedSwapchainsKHR', -- 'createSwapchainKHR' data SwapchainCreateInfoKHR (es :: [Type]) = SwapchainCreateInfoKHR-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of 'SwapchainCreateFlagBitsKHR' indicating     -- parameters of the swapchain creation.@@ -1743,7 +1744,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Extensions.Handles.SwapchainKHR', 'queuePresentKHR' data PresentInfoKHR (es :: [Type]) = PresentInfoKHR-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @pWaitSemaphores@ is @NULL@ or a pointer to an array of     -- 'Vulkan.Core10.Handles.Semaphore' objects with @waitSemaphoreCount@
src/Vulkan/Extensions/VK_KHR_wayland_surface.hs view
@@ -7,9 +7,9 @@                                                  , pattern KHR_WAYLAND_SURFACE_SPEC_VERSION                                                  , KHR_WAYLAND_SURFACE_EXTENSION_NAME                                                  , pattern KHR_WAYLAND_SURFACE_EXTENSION_NAME-                                                 , SurfaceKHR(..)                                                  , Wl_display                                                  , Wl_surface+                                                 , SurfaceKHR(..)                                                  ) where  import Control.Exception.Base (bracket)@@ -52,12 +52,12 @@ import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (bool32ToBool) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -76,15 +76,11 @@ import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..)) import Vulkan.Exception (VulkanException(..))-import Vulkan.Extensions.WSITypes (Wl_display)-import Vulkan.Extensions.WSITypes (Wl_surface) import Vulkan.Zero (Zero) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS)) import Vulkan.Extensions.Handles (SurfaceKHR(..))-import Vulkan.Extensions.WSITypes (Wl_display)-import Vulkan.Extensions.WSITypes (Wl_surface) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -270,7 +266,16 @@            zero  --- No documentation found for TopLevel "VkWaylandSurfaceCreateFlagsKHR"+-- | VkWaylandSurfaceCreateFlagsKHR - Reserved for future use+--+-- = Description+--+-- 'WaylandSurfaceCreateFlagsKHR' is a bitmask type for setting a mask, but+-- is currently reserved for future use.+--+-- = See Also+--+-- 'WaylandSurfaceCreateInfoKHR' newtype WaylandSurfaceCreateFlagsKHR = WaylandSurfaceCreateFlagsKHR Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -301,4 +306,10 @@ -- No documentation found for TopLevel "VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME" pattern KHR_WAYLAND_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern KHR_WAYLAND_SURFACE_EXTENSION_NAME = "VK_KHR_wayland_surface"+++data Wl_display+++data Wl_surface 
src/Vulkan/Extensions/VK_KHR_wayland_surface.hs-boot view
@@ -1,5 +1,7 @@ {-# language CPP #-}-module Vulkan.Extensions.VK_KHR_wayland_surface  (WaylandSurfaceCreateInfoKHR) where+module Vulkan.Extensions.VK_KHR_wayland_surface  ( WaylandSurfaceCreateInfoKHR+                                                 , Wl_display+                                                 ) where  import Data.Kind (Type) import Vulkan.CStruct (FromCStruct)@@ -10,4 +12,7 @@ instance Show WaylandSurfaceCreateInfoKHR  instance FromCStruct WaylandSurfaceCreateInfoKHR+++data Wl_display 
src/Vulkan/Extensions/VK_KHR_win32_surface.hs view
@@ -7,9 +7,9 @@                                                , pattern KHR_WIN32_SURFACE_SPEC_VERSION                                                , KHR_WIN32_SURFACE_EXTENSION_NAME                                                , pattern KHR_WIN32_SURFACE_EXTENSION_NAME-                                               , SurfaceKHR(..)                                                , HINSTANCE                                                , HWND+                                               , SurfaceKHR(..)                                                ) where  import Control.Exception.Base (bracket)@@ -52,16 +52,14 @@ import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (bool32ToBool) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (HINSTANCE)-import Vulkan.Extensions.WSITypes (HWND) import Vulkan.Core10.Handles (Instance) import Vulkan.Core10.Handles (Instance(..)) import Vulkan.Dynamic (InstanceCmds(pVkCreateWin32SurfaceKHR))@@ -82,8 +80,6 @@ import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (HINSTANCE)-import Vulkan.Extensions.WSITypes (HWND) import Vulkan.Extensions.Handles (SurfaceKHR(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -212,16 +208,14 @@     --     -- @flags@ /must/ be @0@     flags :: Win32SurfaceCreateFlagsKHR-  , -- | @hinstance@ is the Win32 'Vulkan.Extensions.WSITypes.HINSTANCE' for the-    -- window to associate the surface with.+  , -- | @hinstance@ is the Win32 'HINSTANCE' for the window to associate the+    -- surface with.     ---    -- @hinstance@ /must/ be a valid Win32-    -- 'Vulkan.Extensions.WSITypes.HINSTANCE'+    -- @hinstance@ /must/ be a valid Win32 'HINSTANCE'     hinstance :: HINSTANCE-  , -- | @hwnd@ is the Win32 'Vulkan.Extensions.WSITypes.HWND' for the window to-    -- associate the surface with.+  , -- | @hwnd@ is the Win32 'HWND' for the window to associate the surface with.     ---    -- @hwnd@ /must/ be a valid Win32 'Vulkan.Extensions.WSITypes.HWND'+    -- @hwnd@ /must/ be a valid Win32 'HWND'     hwnd :: HWND   }   deriving (Typeable, Eq)@@ -309,4 +303,10 @@ -- No documentation found for TopLevel "VK_KHR_WIN32_SURFACE_EXTENSION_NAME" pattern KHR_WIN32_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern KHR_WIN32_SURFACE_EXTENSION_NAME = "VK_KHR_win32_surface"+++type HINSTANCE = Ptr ()+++type HWND = Ptr () 
src/Vulkan/Extensions/VK_KHR_xcb_surface.hs view
@@ -7,10 +7,10 @@                                              , pattern KHR_XCB_SURFACE_SPEC_VERSION                                              , KHR_XCB_SURFACE_EXTENSION_NAME                                              , pattern KHR_XCB_SURFACE_EXTENSION_NAME-                                             , SurfaceKHR(..)                                              , Xcb_visualid_t                                              , Xcb_window_t                                              , Xcb_connection_t+                                             , SurfaceKHR(..)                                              ) where  import Control.Exception.Base (bracket)@@ -53,12 +53,12 @@ import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (bool32ToBool) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -77,17 +77,11 @@ import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..)) import Vulkan.Exception (VulkanException(..))-import Vulkan.Extensions.WSITypes (Xcb_connection_t)-import Vulkan.Extensions.WSITypes (Xcb_visualid_t)-import Vulkan.Extensions.WSITypes (Xcb_window_t) import Vulkan.Zero (Zero) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS)) import Vulkan.Extensions.Handles (SurfaceKHR(..))-import Vulkan.Extensions.WSITypes (Xcb_connection_t)-import Vulkan.Extensions.WSITypes (Xcb_visualid_t)-import Vulkan.Extensions.WSITypes (Xcb_window_t) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -276,7 +270,16 @@            zero  --- No documentation found for TopLevel "VkXcbSurfaceCreateFlagsKHR"+-- | VkXcbSurfaceCreateFlagsKHR - Reserved for future use+--+-- = Description+--+-- 'XcbSurfaceCreateFlagsKHR' is a bitmask type for setting a mask, but is+-- currently reserved for future use.+--+-- = See Also+--+-- 'XcbSurfaceCreateInfoKHR' newtype XcbSurfaceCreateFlagsKHR = XcbSurfaceCreateFlagsKHR Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -307,4 +310,13 @@ -- No documentation found for TopLevel "VK_KHR_XCB_SURFACE_EXTENSION_NAME" pattern KHR_XCB_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface"+++type Xcb_visualid_t = Word32+++type Xcb_window_t = Word32+++data Xcb_connection_t 
src/Vulkan/Extensions/VK_KHR_xcb_surface.hs-boot view
@@ -1,6 +1,10 @@ {-# language CPP #-}-module Vulkan.Extensions.VK_KHR_xcb_surface  (XcbSurfaceCreateInfoKHR) where+module Vulkan.Extensions.VK_KHR_xcb_surface  ( XcbSurfaceCreateInfoKHR+                                             , Xcb_connection_t+                                             , Xcb_visualid_t+                                             ) where +import Data.Word (Word32) import Data.Kind (Type) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (ToCStruct)@@ -10,4 +14,10 @@ instance Show XcbSurfaceCreateInfoKHR  instance FromCStruct XcbSurfaceCreateInfoKHR+++data Xcb_connection_t+++type Xcb_visualid_t = Word32 
src/Vulkan/Extensions/VK_KHR_xlib_surface.hs view
@@ -7,10 +7,10 @@                                               , pattern KHR_XLIB_SURFACE_SPEC_VERSION                                               , KHR_XLIB_SURFACE_EXTENSION_NAME                                               , pattern KHR_XLIB_SURFACE_EXTENSION_NAME-                                              , SurfaceKHR(..)                                               , Display                                               , VisualID                                               , Window+                                              , SurfaceKHR(..)                                               ) where  import Control.Exception.Base (bracket)@@ -50,16 +50,16 @@ 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 Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Core10.BaseType (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (bool32ToBool) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))-import Vulkan.Extensions.WSITypes (Display)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -77,17 +77,12 @@ import Vulkan.Extensions.Handles (SurfaceKHR(..)) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))-import Vulkan.Extensions.WSITypes (VisualID) import Vulkan.Exception (VulkanException(..))-import Vulkan.Extensions.WSITypes (Window) import Vulkan.Zero (Zero) import Vulkan.Zero (Zero(..)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (Display) import Vulkan.Extensions.Handles (SurfaceKHR(..))-import Vulkan.Extensions.WSITypes (VisualID)-import Vulkan.Extensions.WSITypes (Window) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -191,11 +186,9 @@                                                -- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceQueueFamilyProperties'                                                -- for the given @physicalDevice@                                                ("queueFamilyIndex" ::: Word32)-                                            -> -- | @dpy@ is a pointer to an Xlib 'Vulkan.Extensions.WSITypes.Display'-                                               -- connection to the server.+                                            -> -- | @dpy@ is a pointer to an Xlib 'Display' connection to the server.                                                ---                                               -- @dpy@ /must/ be a valid pointer to a-                                               -- 'Vulkan.Extensions.WSITypes.Display' value+                                               -- @dpy@ /must/ be a valid pointer to a 'Display' value                                                ("dpy" ::: Ptr Display)                                             -> -- No documentation found for Nested "vkGetPhysicalDeviceXlibPresentationSupportKHR" "visualID"                                                VisualID@@ -223,15 +216,13 @@     --     -- @flags@ /must/ be @0@     flags :: XlibSurfaceCreateFlagsKHR-  , -- | @dpy@ is a pointer to an Xlib 'Vulkan.Extensions.WSITypes.Display'-    -- connection to the X server.+  , -- | @dpy@ is a pointer to an Xlib 'Display' connection to the X server.     ---    -- @dpy@ /must/ point to a valid Xlib 'Vulkan.Extensions.WSITypes.Display'+    -- @dpy@ /must/ point to a valid Xlib 'Display'     dpy :: Ptr Display-  , -- | @window@ is an Xlib 'Vulkan.Extensions.WSITypes.Window' to associate the-    -- surface with.+  , -- | @window@ is an Xlib 'Window' to associate the surface with.     ---    -- @window@ /must/ be a valid Xlib 'Vulkan.Extensions.WSITypes.Window'+    -- @window@ /must/ be a valid Xlib 'Window'     window :: Window   }   deriving (Typeable, Eq)@@ -279,7 +270,16 @@            zero  --- No documentation found for TopLevel "VkXlibSurfaceCreateFlagsKHR"+-- | VkXlibSurfaceCreateFlagsKHR - Reserved for future use+--+-- = Description+--+-- 'XlibSurfaceCreateFlagsKHR' is a bitmask type for setting a mask, but is+-- currently reserved for future use.+--+-- = See Also+--+-- 'XlibSurfaceCreateInfoKHR' newtype XlibSurfaceCreateFlagsKHR = XlibSurfaceCreateFlagsKHR Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) @@ -310,4 +310,13 @@ -- No documentation found for TopLevel "VK_KHR_XLIB_SURFACE_EXTENSION_NAME" pattern KHR_XLIB_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface"+++type Display = Ptr ()+++type VisualID = Word64+++type Window = Word64 
src/Vulkan/Extensions/VK_KHR_xlib_surface.hs-boot view
@@ -1,6 +1,11 @@ {-# language CPP #-}-module Vulkan.Extensions.VK_KHR_xlib_surface  (XlibSurfaceCreateInfoKHR) where+module Vulkan.Extensions.VK_KHR_xlib_surface  ( XlibSurfaceCreateInfoKHR+                                              , Display+                                              , VisualID+                                              ) where +import Foreign.Ptr (Ptr)+import Data.Word (Word64) import Data.Kind (Type) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (ToCStruct)@@ -10,4 +15,10 @@ instance Show XlibSurfaceCreateInfoKHR  instance FromCStruct XlibSurfaceCreateInfoKHR+++type Display = Ptr ()+++type VisualID = Word64 
src/Vulkan/Extensions/VK_MVK_ios_surface.hs view
@@ -50,7 +50,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -156,10 +156,10 @@     flags :: IOSSurfaceCreateFlagsMVK   , -- | @pView@ is a reference to a @UIView@ object which will display this     -- surface. This @UIView@ /must/ be backed by a @CALayer@ instance of type-    -- 'Vulkan.Extensions.WSITypes.CAMetalLayer'.+    -- 'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'.     --     -- @pView@ /must/ be a valid @UIView@ and /must/ be backed by a @CALayer@-    -- instance of type 'Vulkan.Extensions.WSITypes.CAMetalLayer'+    -- instance of type 'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'     view :: Ptr ()   }   deriving (Typeable)@@ -203,7 +203,16 @@            zero  --- No documentation found for TopLevel "VkIOSSurfaceCreateFlagsMVK"+-- | VkIOSSurfaceCreateFlagsMVK - Reserved for future use+--+-- = Description+--+-- 'IOSSurfaceCreateFlagsMVK' is a bitmask type for setting a mask, but is+-- currently reserved for future use.+--+-- = See Also+--+-- 'IOSSurfaceCreateInfoMVK' newtype IOSSurfaceCreateFlagsMVK = IOSSurfaceCreateFlagsMVK Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) 
src/Vulkan/Extensions/VK_MVK_macos_surface.hs view
@@ -50,7 +50,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -158,10 +158,10 @@     flags :: MacOSSurfaceCreateFlagsMVK   , -- | @pView@ is a reference to a @NSView@ object which will display this     -- surface. This @NSView@ /must/ be backed by a @CALayer@ instance of type-    -- 'Vulkan.Extensions.WSITypes.CAMetalLayer'.+    -- 'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'.     --     -- @pView@ /must/ be a valid @NSView@ and /must/ be backed by a @CALayer@-    -- instance of type 'Vulkan.Extensions.WSITypes.CAMetalLayer'+    -- instance of type 'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'     view :: Ptr ()   }   deriving (Typeable)@@ -205,7 +205,16 @@            zero  --- No documentation found for TopLevel "VkMacOSSurfaceCreateFlagsMVK"+-- | VkMacOSSurfaceCreateFlagsMVK - Reserved for future use+--+-- = Description+--+-- 'MacOSSurfaceCreateFlagsMVK' is a bitmask type for setting a mask, but+-- is currently reserved for future use.+--+-- = See Also+--+-- 'MacOSSurfaceCreateInfoMVK' newtype MacOSSurfaceCreateFlagsMVK = MacOSSurfaceCreateFlagsMVK Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) 
src/Vulkan/Extensions/VK_NN_vi_surface.hs view
@@ -50,7 +50,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Handles (Instance)@@ -218,7 +218,16 @@            zero  --- No documentation found for TopLevel "VkViSurfaceCreateFlagsNN"+-- | VkViSurfaceCreateFlagsNN - Reserved for future use+--+-- = Description+--+-- 'ViSurfaceCreateFlagsNN' is a bitmask type for setting a mask, but is+-- currently reserved for future use.+--+-- = See Also+--+-- 'ViSurfaceCreateInfoNN' newtype ViSurfaceCreateFlagsNN = ViSurfaceCreateFlagsNN Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits) 
src/Vulkan/Extensions/VK_NVX_image_view_handle.hs view
@@ -37,10 +37,10 @@ import Vulkan.Core10.Enums.DescriptorType (DescriptorType) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..))-import Vulkan.Core10.BaseType (DeviceAddress)+import Vulkan.Core10.FundamentalTypes (DeviceAddress) import Vulkan.Dynamic (DeviceCmds(pVkGetImageViewAddressNVX)) import Vulkan.Dynamic (DeviceCmds(pVkGetImageViewHandleNVX))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -261,8 +261,8 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceAddress',--- 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'getImageViewAddressNVX' data ImageViewAddressPropertiesNVX = ImageViewAddressPropertiesNVX
src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -48,11 +48,11 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-  { -- | @perViewPositionAllComponents@ is 'Vulkan.Core10.BaseType.TRUE' if the-    -- implementation supports per-view position values that differ in+  { -- | @perViewPositionAllComponents@ is 'Vulkan.Core10.FundamentalTypes.TRUE'+    -- if the implementation supports per-view position values that differ in     -- components other than the X component.     perViewPositionAllComponents :: Bool }   deriving (Typeable, Eq)
src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs view
@@ -40,10 +40,10 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T)@@ -198,7 +198,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'ViewportWScalingNV' data PipelineViewportWScalingStateCreateInfoNV = PipelineViewportWScalingStateCreateInfoNV   { -- | @viewportWScalingEnable@ controls whether viewport __W__ scaling is
src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -55,7 +55,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceComputeShaderDerivativesFeaturesNV = PhysicalDeviceComputeShaderDerivativesFeaturesNV   { -- | @computeDerivativeGroupQuads@ indicates that the implementation supports
src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs view
@@ -71,10 +71,10 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceCooperativeMatrixPropertiesNV))@@ -194,7 +194,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceCooperativeMatrixFeaturesNV = PhysicalDeviceCooperativeMatrixFeaturesNV   { -- | @cooperativeMatrix@ indicates that the implementation supports the
src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -50,7 +50,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceCornerSampledImageFeaturesNV = PhysicalDeviceCornerSampledImageFeaturesNV   { -- | @cornerSampledImage@ specifies whether images can be created with a
src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs view
@@ -59,11 +59,11 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV))@@ -186,7 +186,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceCoverageReductionModeFeaturesNV = PhysicalDeviceCoverageReductionModeFeaturesNV   { -- | @coverageReductionMode@ indicates whether the implementation supports
src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs view
@@ -20,9 +20,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Buffer) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))@@ -46,7 +46,7 @@ -- -- == Valid Usage ----- -   If @dedicatedAllocation@ is 'Vulkan.Core10.BaseType.TRUE',+-- -   If @dedicatedAllocation@ is 'Vulkan.Core10.FundamentalTypes.TRUE', --     'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ /must/ not include --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_BINDING_BIT', --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT',@@ -60,7 +60,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data DedicatedAllocationImageCreateInfoNV = DedicatedAllocationImageCreateInfoNV   { -- | @dedicatedAllocation@ specifies whether the image will have a dedicated@@ -111,7 +111,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data DedicatedAllocationBufferCreateInfoNV = DedicatedAllocationBufferCreateInfoNV   { -- | @dedicatedAllocation@ specifies whether the buffer will have a dedicated@@ -166,12 +166,12 @@ -- -   If @image@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the --     image /must/ have been created with --     'DedicatedAllocationImageCreateInfoNV'::@dedicatedAllocation@ equal---     to 'Vulkan.Core10.BaseType.TRUE'+--     to 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If @buffer@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the --     buffer /must/ have been created with --     'DedicatedAllocationBufferCreateInfoNV'::@dedicatedAllocation@ equal---     to 'Vulkan.Core10.BaseType.TRUE'+--     to 'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   If @image@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', --     'Vulkan.Core10.Memory.MemoryAllocateInfo'::@allocationSize@ /must/
src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -52,7 +52,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV   { -- | @dedicatedAllocationImageAliasing@ indicates that the implementation
src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs view
@@ -81,6 +81,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -233,11 +235,13 @@  -- | VkCheckpointDataNV - return structure for command buffer checkpoint data ----- == Valid Usage (Implicit)+-- = Description ----- Note that the stages at which a checkpoint marker /can/ be executed are+-- The stages at which a checkpoint marker /can/ be executed are -- implementation-defined and /can/ be queried by calling -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceQueueFamilyProperties2'.+--+-- == Valid Usage (Implicit) -- -- = See Also --
src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs view
@@ -37,10 +37,10 @@ import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -73,7 +73,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceDiagnosticsConfigFeaturesNV = PhysicalDeviceDiagnosticsConfigFeaturesNV   { -- | @diagnosticsConfig@ indicates whether the implementation supports the
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -95,33 +95,33 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Extends (forgetExtensions) import Vulkan.CStruct.Extends (peekSomeCStruct) import Vulkan.CStruct.Extends (pokeSomeCStruct) import Vulkan.CStruct.Extends (withSomeCStruct) import Vulkan.NamedType ((:::)) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..)) import Vulkan.Core10.Handles (Buffer) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..))-import Vulkan.Core10.BaseType (DeviceAddress)+import Vulkan.Core10.FundamentalTypes (DeviceAddress) import Vulkan.Dynamic (DeviceCmds(pVkCmdBindPipelineShaderGroupNV)) import Vulkan.Dynamic (DeviceCmds(pVkCmdExecuteGeneratedCommandsNV)) import Vulkan.Dynamic (DeviceCmds(pVkCmdPreprocessGeneratedCommandsNV)) import Vulkan.Dynamic (DeviceCmds(pVkCreateIndirectCommandsLayoutNV)) import Vulkan.Dynamic (DeviceCmds(pVkDestroyIndirectCommandsLayoutNV)) import Vulkan.Dynamic (DeviceCmds(pVkGetGeneratedCommandsMemoryRequirementsNV))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extendss)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.IndexType (IndexType)@@ -348,9 +348,9 @@ -- -   [[VUID-{refpage}-sampleLocationsEnable-02689]] If the bound graphics --     pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -372,7 +372,7 @@ -- -- -   @commandBuffer@ /must/ not be a protected command buffer ----- -   If @isPreprocessed@ is 'Vulkan.Core10.BaseType.TRUE' then+-- -   If @isPreprocessed@ is 'Vulkan.Core10.FundamentalTypes.TRUE' then --     'cmdPreprocessGeneratedCommandsNV' /must/ have already been executed --     on the device, using the same @pGeneratedCommandsInfo@ content as --     well as the content of the input buffers it references (all except@@ -426,16 +426,17 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.Handles.CommandBuffer',--- 'GeneratedCommandsInfoNV'+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Handles.CommandBuffer', 'GeneratedCommandsInfoNV' cmdExecuteGeneratedCommandsNV :: forall io                                . (MonadIO io)                               => -- | @commandBuffer@ is the command buffer into which the command is                                  -- recorded.                                  CommandBuffer                               -> -- | @isPreprocessed@ represents whether the input data has already been-                                 -- preprocessed on the device. If it is 'Vulkan.Core10.BaseType.FALSE' this-                                 -- command will implicitly trigger the preprocessing step, otherwise not.+                                 -- preprocessed on the device. If it is+                                 -- 'Vulkan.Core10.FundamentalTypes.FALSE' this command will implicitly+                                 -- trigger the preprocessing step, otherwise not.                                  ("isPreprocessed" ::: Bool)                               -> -- | @pGeneratedCommandsInfo@ is a pointer to an instance of the                                  -- 'GeneratedCommandsInfoNV' structure containing parameters affecting the@@ -861,7 +862,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = PhysicalDeviceDeviceGeneratedCommandsFeaturesNV   { -- | @deviceGeneratedCommands@ indicates whether the implementation supports@@ -1321,7 +1322,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress', -- 'Vulkan.Core10.Enums.IndexType.IndexType' data BindIndexBufferIndirectCommandNV = BindIndexBufferIndirectCommandNV   { -- | @bufferAddress@ specifies a physical address of the@@ -1396,7 +1397,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.DeviceAddress'+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress' data BindVertexBufferIndirectCommandNV = BindVertexBufferIndirectCommandNV   { -- | @bufferAddress@ specifies a physical address of the     -- 'Vulkan.Core10.Handles.Buffer' used as vertex input binding.@@ -1521,8 +1522,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.BaseType.DeviceSize',--- 'GeneratedCommandsInfoNV'+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'GeneratedCommandsInfoNV' data IndirectCommandsStreamNV = IndirectCommandsStreamNV   { -- | @buffer@ specifies the 'Vulkan.Core10.Handles.Buffer' storing the     -- functional arguments for each sequence. These arguments /can/ be written@@ -1648,7 +1649,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.IndexType.IndexType', -- 'IndirectCommandsLayoutCreateInfoNV', 'IndirectCommandsTokenTypeNV', -- 'IndirectStateFlagsNV', 'Vulkan.Core10.Handles.PipelineLayout',@@ -2065,7 +2066,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Extensions.Handles.IndirectCommandsLayoutNV', -- 'IndirectCommandsStreamNV', 'Vulkan.Core10.Handles.Pipeline', -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',@@ -2093,8 +2095,8 @@   , -- | @preprocessBuffer@ is the 'Vulkan.Core10.Handles.Buffer' that is used     -- for preprocessing the input data for execution. If this structure is     -- used with 'cmdExecuteGeneratedCommandsNV' with its @isPreprocessed@ set-    -- to 'Vulkan.Core10.BaseType.TRUE', then the preprocessing step is skipped-    -- and data is only read from this buffer.+    -- to 'Vulkan.Core10.FundamentalTypes.TRUE', then the preprocessing step is+    -- skipped and data is only read from this buffer.     preprocessBuffer :: Buffer   , -- | @preprocessOffset@ is the byte offset into @preprocessBuffer@ where the     -- preprocessed data is stored.@@ -2308,7 +2310,7 @@ -- that the layout is always used with the manual preprocessing step -- through calling 'cmdPreprocessGeneratedCommandsNV' and executed by -- 'cmdExecuteGeneratedCommandsNV' with @isPreprocessed@ set to--- 'Vulkan.Core10.BaseType.TRUE'.+-- 'Vulkan.Core10.FundamentalTypes.TRUE'. pattern INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = IndirectCommandsLayoutUsageFlagBitsNV 0x00000001 -- | 'INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV' specifies that -- the input data for the sequences is not implicitly indexed from
src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs view
@@ -55,7 +55,7 @@ import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Core10.Enums.Format (Format) import Vulkan.Core10.Enums.Format (Format(..)) import Vulkan.CStruct (FromCStruct)
src/Vulkan/Extensions/VK_NV_external_memory_win32.hs view
@@ -6,11 +6,11 @@                                                       , pattern NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION                                                       , NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME                                                       , pattern NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME-                                                      , ExternalMemoryHandleTypeFlagBitsNV(..)-                                                      , ExternalMemoryHandleTypeFlagsNV                                                       , HANDLE                                                       , DWORD                                                       , SECURITY_ATTRIBUTES+                                                      , ExternalMemoryHandleTypeFlagBitsNV(..)+                                                      , ExternalMemoryHandleTypeFlagsNV                                                       ) where  import Control.Exception.Base (bracket)@@ -38,9 +38,9 @@ import GHC.IO.Exception (IOException(..)) import Foreign.Ptr (FunPtr) import Foreign.Ptr (Ptr)+import Data.Word (Word32) import Data.Kind (Type) import Control.Monad.Trans.Cont (ContT(..))-import Vulkan.Extensions.WSITypes (DWORD) import Vulkan.Core10.Handles (Device) import Vulkan.Core10.Handles (Device(..)) import Vulkan.Dynamic (DeviceCmds(pVkGetMemoryWin32HandleNV))@@ -51,10 +51,8 @@ import Vulkan.Extensions.VK_NV_external_memory_capabilities (ExternalMemoryHandleTypeFlagsNV) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Extensions.WSITypes (HANDLE) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..))-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -63,11 +61,8 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV)) import Vulkan.Core10.Enums.Result (Result(SUCCESS))-import Vulkan.Extensions.WSITypes (DWORD) import Vulkan.Extensions.VK_NV_external_memory_capabilities (ExternalMemoryHandleTypeFlagBitsNV(..)) import Vulkan.Extensions.VK_NV_external_memory_capabilities (ExternalMemoryHandleTypeFlagsNV)-import Vulkan.Extensions.WSITypes (HANDLE)-import Vulkan.Extensions.WSITypes (SECURITY_ATTRIBUTES) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)   unsafe@@ -158,8 +153,7 @@     -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV'     -- values     handleType :: ExternalMemoryHandleTypeFlagsNV-  , -- | @handle@ is a Windows 'Vulkan.Extensions.WSITypes.HANDLE' referring to-    -- the memory.+  , -- | @handle@ is a Windows 'HANDLE' referring to the memory.     --     -- @handle@ /must/ be a valid handle to memory, obtained as specified by     -- @handleType@@@ -228,19 +222,16 @@ --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV' -- -- -   If @pAttributes@ is not @NULL@, @pAttributes@ /must/ be a valid---     pointer to a valid 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES'---     value+--     pointer to a valid 'SECURITY_ATTRIBUTES' value -- -- = See Also -- -- 'Vulkan.Core10.Enums.StructureType.StructureType' data ExportMemoryWin32HandleInfoNV = ExportMemoryWin32HandleInfoNV-  { -- | @pAttributes@ is a pointer to a Windows-    -- 'Vulkan.Extensions.WSITypes.SECURITY_ATTRIBUTES' structure specifying-    -- security attributes of the handle.+  { -- | @pAttributes@ is a pointer to a Windows 'SECURITY_ATTRIBUTES' structure+    -- specifying security attributes of the handle.     attributes :: Ptr SECURITY_ATTRIBUTES-  , -- | @dwAccess@ is a 'Vulkan.Extensions.WSITypes.DWORD' specifying access-    -- rights of the handle.+  , -- | @dwAccess@ is a 'DWORD' specifying access rights of the handle.     dwAccess :: DWORD   }   deriving (Typeable, Eq)@@ -295,4 +286,13 @@ -- No documentation found for TopLevel "VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME" pattern NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_NV_external_memory_win32"+++type HANDLE = Ptr ()+++type DWORD = Word32+++data SECURITY_ATTRIBUTES 
src/Vulkan/Extensions/VK_NV_external_memory_win32.hs-boot view
@@ -1,8 +1,10 @@ {-# language CPP #-} module Vulkan.Extensions.VK_NV_external_memory_win32  ( ExportMemoryWin32HandleInfoNV                                                       , ImportMemoryWin32HandleInfoNV+                                                      , HANDLE                                                       ) where +import Foreign.Ptr (Ptr) import Data.Kind (Type) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (ToCStruct)@@ -20,4 +22,7 @@ instance Show ImportMemoryWin32HandleInfoNV  instance FromCStruct ImportMemoryWin32HandleInfoNV+++type HANDLE = Ptr () 
src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs view
@@ -32,10 +32,10 @@ import Data.Word (Word32) import Text.Read.Lex (Lexeme(Ident)) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -49,7 +49,7 @@ -- -- = Description ----- If @coverageToColorEnable@ is 'Vulkan.Core10.BaseType.TRUE', the+-- If @coverageToColorEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-multisampling-coverage-mask coverage mask> -- replaces the first component of the color value corresponding to the -- fragment shader output location with @Location@ equal to@@ -59,14 +59,14 @@ -- attachment format has more bits than the coverage mask, the high bits of -- the sample coverage mask are filled with zeros. ----- If @coverageToColorEnable@ is 'Vulkan.Core10.BaseType.FALSE', these--- operations are skipped. If this structure is not present, it is as if--- @coverageToColorEnable@ is 'Vulkan.Core10.BaseType.FALSE'.+-- If @coverageToColorEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE',+-- these operations are skipped. If this structure is not present, it is as+-- if @coverageToColorEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE'. -- -- == Valid Usage ----- -   If @coverageToColorEnable@ is 'Vulkan.Core10.BaseType.TRUE', then---     the render pass subpass indicated by+-- -   If @coverageToColorEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE',+--     then the render pass subpass indicated by --     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@renderPass@ --     and 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@subpass@ --     /must/ have a color attachment at the location selected by@@ -88,7 +88,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'PipelineCoverageToColorStateCreateFlagsNV', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineCoverageToColorStateCreateInfoNV = PipelineCoverageToColorStateCreateInfoNV
src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -55,7 +55,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceFragmentShaderBarycentricFeaturesNV = PhysicalDeviceFragmentShaderBarycentricFeaturesNV   { -- | @fragmentShaderBarycentric@ indicates that the implementation supports
src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs view
@@ -54,10 +54,10 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -71,11 +71,12 @@ -- -- = Description ----- If @coverageModulationTableEnable@ is 'Vulkan.Core10.BaseType.FALSE',--- then for each color sample the associated bits of the fragment’s--- coverage are counted and divided by the number of associated bits to--- produce a modulation factor R in the range (0,1] (a value of zero would--- have been killed due to a color coverage of 0). Specifically:+-- If @coverageModulationTableEnable@ is+-- 'Vulkan.Core10.FundamentalTypes.FALSE', then for each color sample the+-- associated bits of the fragment’s coverage are counted and divided by+-- the number of associated bits to produce a modulation factor R in the+-- range (0,1] (a value of zero would have been killed due to a color+-- coverage of 0). Specifically: -- -- -   N = value of @rasterizationSamples@ --@@ -84,9 +85,10 @@ -- -- -   R = popcount(associated coverage bits) \/ (N \/ M) ----- If @coverageModulationTableEnable@ is 'Vulkan.Core10.BaseType.TRUE', the--- value R is computed using a programmable lookup table. The lookup table--- has N \/ M elements, and the element of the table is selected by:+-- If @coverageModulationTableEnable@ is+-- 'Vulkan.Core10.FundamentalTypes.TRUE', the value R is computed using a+-- programmable lookup table. The lookup table has N \/ M elements, and the+-- element of the table is selected by: -- -- -   R = @pCoverageModulationTable@[popcount(associated coverage bits)-1] --@@ -116,7 +118,8 @@ -- -- == Valid Usage ----- -   If @coverageModulationTableEnable@ is 'Vulkan.Core10.BaseType.TRUE',+-- -   If @coverageModulationTableEnable@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', --     @coverageModulationTableCount@ /must/ be equal to the number of --     rasterization samples divided by the number of color samples in the --     subpass@@ -133,7 +136,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'CoverageModulationModeNV',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'CoverageModulationModeNV', -- 'PipelineCoverageModulationStateCreateFlagsNV', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineCoverageModulationStateCreateInfoNV = PipelineCoverageModulationStateCreateInfoNV
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -34,11 +34,11 @@ import Data.Word (Word32) import Data.Kind (Type) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.CStruct.Utils (lowerArrayPtr) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (Buffer) import Vulkan.Core10.Handles (Buffer(..)) import Vulkan.Core10.Handles (CommandBuffer)@@ -47,7 +47,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkCmdDrawMeshTasksIndirectCountNV)) import Vulkan.Dynamic (DeviceCmds(pVkCmdDrawMeshTasksIndirectNV)) import Vulkan.Dynamic (DeviceCmds(pVkCmdDrawMeshTasksNV))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -236,9 +236,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -485,9 +485,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -560,7 +560,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDrawMeshTasksIndirectNV :: forall io                             . (MonadIO io)                            => -- | @commandBuffer@ is the command buffer into which the command is@@ -768,9 +768,9 @@ -- -- -   If the bound graphics pipeline was created with --     'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@---     set to 'Vulkan.Core10.BaseType.TRUE' and the current subpass has a---     depth\/stencil attachment, then that attachment /must/ have been---     created with the+--     set to 'Vulkan.Core10.FundamentalTypes.TRUE' and the current subpass+--     has a depth\/stencil attachment, then that attachment /must/ have+--     been created with the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' --     bit set --@@ -858,7 +858,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdDrawMeshTasksIndirectCountNV :: forall io                                  . (MonadIO io)                                 => -- | @commandBuffer@ is the command buffer into which the command is@@ -905,7 +905,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceMeshShaderFeaturesNV = PhysicalDeviceMeshShaderFeaturesNV   { -- | @taskShader@ indicates whether the task shader stage is supported.
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -107,6 +107,7 @@                                             , GeometryTypeKHR(..)                                             , AccelerationStructureMemoryRequirementsTypeKHR(..)                                             , RayTracingShaderGroupTypeKHR(..)+                                            , MemoryRequirements2KHR                                             , SHADER_UNUSED_KHR                                             , pattern SHADER_UNUSED_KHR                                             ) where@@ -153,7 +154,7 @@ import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes) import Vulkan.Extensions.VK_KHR_ray_tracing (bindAccelerationStructureMemoryKHR)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.Extensions.VK_KHR_ray_tracing (cmdWriteAccelerationStructuresPropertiesKHR) import Vulkan.Extensions.VK_KHR_ray_tracing (destroyAccelerationStructureKHR) import Vulkan.CStruct.Extends (forgetExtensions)@@ -169,8 +170,8 @@ import Vulkan.Extensions.VK_KHR_ray_tracing (AccelerationStructureTypeKHR) import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks) import Vulkan.Extensions.VK_KHR_ray_tracing (BindAccelerationStructureMemoryInfoKHR)-import Vulkan.Core10.BaseType (Bool32)-import Vulkan.Core10.BaseType (Bool32(..))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..)) import Vulkan.Core10.Handles (Buffer) import Vulkan.Core10.Handles (Buffer(..)) import Vulkan.Extensions.VK_KHR_ray_tracing (BuildAccelerationStructureFlagBitsKHR)@@ -191,7 +192,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkCreateRayTracingPipelinesNV)) import Vulkan.Dynamic (DeviceCmds(pVkGetAccelerationStructureHandleNV)) import Vulkan.Dynamic (DeviceCmds(pVkGetAccelerationStructureMemoryRequirementsNV))-import Vulkan.Core10.BaseType (DeviceSize)+import Vulkan.Core10.FundamentalTypes (DeviceSize) import Vulkan.Core10.Handles (Device_T) import Vulkan.CStruct.Extends (Extends) import Vulkan.CStruct.Extends (Extendss)@@ -205,7 +206,7 @@ import Vulkan.Extensions.VK_KHR_ray_tracing (GeometryInstanceFlagsKHR) import Vulkan.Extensions.VK_KHR_ray_tracing (GeometryTypeKHR) import Vulkan.Core10.Enums.IndexType (IndexType)-import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (MemoryRequirements2KHR)+import Vulkan.Extensions.VK_KHR_get_memory_requirements2 (MemoryRequirements2KHR) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.Core10.Handles (Pipeline)@@ -323,6 +324,7 @@ import Vulkan.Extensions.VK_KHR_ray_tracing (GeometryInstanceFlagBitsKHR(..)) import Vulkan.Extensions.VK_KHR_ray_tracing (GeometryInstanceFlagsKHR) import Vulkan.Extensions.VK_KHR_ray_tracing (GeometryTypeKHR(..))+import Vulkan.Extensions.VK_KHR_get_memory_requirements2 (MemoryRequirements2KHR) import Vulkan.Extensions.VK_KHR_ray_tracing (RayTracingShaderGroupTypeKHR(..)) import Vulkan.Core10.APIConstants (SHADER_UNUSED_KHR) import Vulkan.Extensions.VK_KHR_ray_tracing (TransformMatrixKHR(..))@@ -478,7 +480,7 @@ -- -- 'AccelerationStructureMemoryRequirementsInfoNV', -- 'Vulkan.Core10.Handles.Device',--- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2KHR'+-- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.MemoryRequirements2KHR' getAccelerationStructureMemoryRequirementsNV :: forall a io                                               . (Extendss MemoryRequirements2KHR a, PokeChain a, PeekChain a, MonadIO io)                                              => -- | @device@ is the logical device on which the acceleration structure was@@ -554,6 +556,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -620,16 +624,17 @@ --     'AccelerationStructureInfoNV'::@pGeometries@ for @dst@ has greater --     than or equal to the number of vertices, indices, and AABBs ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', @src@ /must/ not be---     'Vulkan.Core10.APIConstants.NULL_HANDLE'+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', @src@ /must/+--     not be 'Vulkan.Core10.APIConstants.NULL_HANDLE' ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', @src@ /must/ have been---     built before with 'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV'---     set in 'AccelerationStructureInfoNV'::@flags@+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', @src@ /must/+--     have been built before with+--     'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV' set in+--     'AccelerationStructureInfoNV'::@flags@ ----- -   If @update@ is 'Vulkan.Core10.BaseType.FALSE', the @size@ member of---     the 'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure---     returned from a call to+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.FALSE', the @size@+--     member of the 'Vulkan.Core10.MemoryManagement.MemoryRequirements'+--     structure returned from a call to --     'getAccelerationStructureMemoryRequirementsNV' with --     'AccelerationStructureMemoryRequirementsInfoNV'::@accelerationStructure@ --     set to @dst@ and@@ -638,9 +643,9 @@ --     /must/ be less than or equal to the size of @scratch@ minus --     @scratchOffset@ ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', the @size@ member of---     the 'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure---     returned from a call to+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the @size@+--     member of the 'Vulkan.Core10.MemoryManagement.MemoryRequirements'+--     structure returned from a call to --     'getAccelerationStructureMemoryRequirementsNV' with --     'AccelerationStructureMemoryRequirementsInfoNV'::@accelerationStructure@ --     set to @dst@ and@@ -656,16 +661,16 @@ --     @instanceData@ /must/ have been created with --     'BUFFER_USAGE_RAY_TRACING_BIT_NV' usage flag ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', then objects that were---     previously active /must/ not be made inactive as per+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', then objects+--     that were previously active /must/ not be made inactive as per --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims> ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', then objects that were---     previously inactive /must/ not be made active as per+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', then objects+--     that were previously inactive /must/ not be made active as per --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-inactive-prims> ----- -   If @update@ is 'Vulkan.Core10.BaseType.TRUE', the @src@ and @dst@---     objects /must/ either be the same object or not have any+-- -   If @update@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the @src@ and+--     @dst@ objects /must/ either be the same object or not have any --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-memory-aliasing memory aliasing> -- -- == Valid Usage (Implicit)@@ -704,6 +709,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -722,9 +729,9 @@ -- -- 'AccelerationStructureInfoNV', -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',--- 'Vulkan.Core10.BaseType.Bool32', 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'Vulkan.Core10.Handles.Buffer', -- 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdBuildAccelerationStructureNV :: forall io                                  . (MonadIO io)                                 => -- | @commandBuffer@ is the command buffer into which the command will be@@ -1043,6 +1050,8 @@ -- -- == Host Synchronization --+-- -   Host access to @commandBuffer@ /must/ be externally synchronized+-- -- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that --     @commandBuffer@ was allocated from /must/ be externally synchronized --@@ -1060,7 +1069,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.BaseType.DeviceSize'+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' cmdTraceRaysNV :: forall io                 . (MonadIO io)                => -- | @commandBuffer@ is the command buffer into which the command will be@@ -1748,7 +1757,7 @@ -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createRayTracingPipelinesNV' data RayTracingPipelineCreateInfoNV (es :: [Type]) = RayTracingPipelineCreateInfoNV-  { -- | @pNext@ is @NULL@ or a pointer to an extension-specific structure.+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.     next :: Chain es   , -- | @flags@ is a bitmask of     -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'@@ -1932,7 +1941,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.Format.Format', 'GeometryDataNV', -- 'Vulkan.Core10.Enums.IndexType.IndexType', -- 'Vulkan.Core10.Enums.StructureType.StructureType'@@ -2069,8 +2079,9 @@ -- -- = See Also ----- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.BaseType.DeviceSize',--- 'GeometryDataNV', 'Vulkan.Core10.Enums.StructureType.StructureType'+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'GeometryDataNV',+-- 'Vulkan.Core10.Enums.StructureType.StructureType' data GeometryAABBNV = GeometryAABBNV   { -- | @aabbData@ is the buffer containing axis-aligned bounding box data.     aabbData :: Buffer@@ -2286,9 +2297,6 @@ --     @geometryType@ member of each geometry in @pGeometries@ /must/ be --     the same ----- -   @flags@ /must/ be a valid combination of---     'BuildAccelerationStructureFlagBitsNV' values--- -- -   If @flags@ has the --     'BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV' bit set, --     then it /must/ not have the@@ -2310,7 +2318,8 @@ -- -- -   @type@ /must/ be a valid 'AccelerationStructureTypeNV' value ----- -   @flags@ /must/ be @0@+-- -   @flags@ /must/ be a valid combination of+--     'BuildAccelerationStructureFlagBitsNV' values -- -- -   If @geometryCount@ is not @0@, @pGeometries@ /must/ be a valid --     pointer to an array of @geometryCount@ valid 'GeometryNV' structures@@ -2404,7 +2413,8 @@ -- -- = See Also ----- 'AccelerationStructureInfoNV', 'Vulkan.Core10.BaseType.DeviceSize',+-- 'AccelerationStructureInfoNV',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createAccelerationStructureNV' data AccelerationStructureCreateInfoNV = AccelerationStructureCreateInfoNV
src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs view
@@ -19,9 +19,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -53,7 +53,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceRepresentativeFragmentTestFeaturesNV = PhysicalDeviceRepresentativeFragmentTestFeaturesNV   { -- | @representativeFragmentTest@ indicates whether the implementation@@ -104,8 +104,8 @@ -- = Description -- -- If this structure is not present, @representativeFragmentTestEnable@ is--- considered to be 'Vulkan.Core10.BaseType.FALSE', and the representative--- fragment test is disabled.+-- considered to be 'Vulkan.Core10.FundamentalTypes.FALSE', and the+-- representative fragment test is disabled. -- -- If -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-earlytest early fragment tests>@@ -116,7 +116,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineRepresentativeFragmentTestStateCreateInfoNV = PipelineRepresentativeFragmentTestStateCreateInfoNV   { -- | @representativeFragmentTestEnable@ controls whether the representative
src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs view
@@ -20,7 +20,6 @@ import Data.Vector (generateM) import qualified Data.Vector (imapM_) import qualified Data.Vector (length)-import qualified Data.Vector (null) import Control.Monad.IO.Class (MonadIO) import Data.String (IsString) import Data.Typeable (Typeable)@@ -38,17 +37,17 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Dynamic (DeviceCmds(pVkCmdSetExclusiveScissorNV)) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.CStruct (ToCStruct) import Vulkan.CStruct (ToCStruct(..))@@ -116,7 +115,7 @@ --     'Vulkan.Core10.Handles.CommandBuffer' handle -- -- -   @pExclusiveScissors@ /must/ be a valid pointer to an array of---     @exclusiveScissorCount@ 'Vulkan.Core10.CommandBufferBuilding.Rect2D'+--     @exclusiveScissorCount@ 'Vulkan.Core10.FundamentalTypes.Rect2D' --     structures -- -- -   @commandBuffer@ /must/ be in the@@ -148,7 +147,7 @@ -- = See Also -- -- 'Vulkan.Core10.Handles.CommandBuffer',--- 'Vulkan.Core10.CommandBufferBuilding.Rect2D'+-- 'Vulkan.Core10.FundamentalTypes.Rect2D' cmdSetExclusiveScissorNV :: forall io                           . (MonadIO io)                          => -- | @commandBuffer@ is the command buffer into which the command will be@@ -158,8 +157,8 @@                             -- rectangle whose state is updated by the command.                             ("firstExclusiveScissor" ::: Word32)                          -> -- | @pExclusiveScissors@ is a pointer to an array of-                            -- 'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures defining-                            -- exclusive scissor rectangles.+                            -- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures defining exclusive+                            -- scissor rectangles.                             ("exclusiveScissors" ::: Vector Rect2D)                          -> io () cmdSetExclusiveScissorNV commandBuffer firstExclusiveScissor exclusiveScissors = liftIO . evalContT $ do@@ -199,7 +198,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceExclusiveScissorFeaturesNV = PhysicalDeviceExclusiveScissorFeaturesNV   { -- | @exclusiveScissor@ indicates that the implementation supports the@@ -272,34 +271,20 @@ --     @viewportCount@ member of --     'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo' ----- -   If no element of the @pDynamicStates@ member of @pDynamicState@ is---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV'---     and @exclusiveScissorCount@ is not @0@, @pExclusiveScissors@ /must/---     be a valid pointer to an array of @exclusiveScissorCount@---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures--- -- == Valid Usage (Implicit) -- -- -   @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV' ----- -   If @exclusiveScissorCount@ is not @0@, and @pExclusiveScissors@ is---     not @NULL@, @pExclusiveScissors@ /must/ be a valid pointer to an---     array of @exclusiveScissorCount@---     'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures--- -- = See Also ----- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineViewportExclusiveScissorStateCreateInfoNV = PipelineViewportExclusiveScissorStateCreateInfoNV-  { -- | @exclusiveScissorCount@ is the number of exclusive scissor rectangles.-    exclusiveScissorCount :: Word32-  , -- | @pExclusiveScissors@ is a pointer to an array of-    -- 'Vulkan.Core10.CommandBufferBuilding.Rect2D' structures defining-    -- exclusive scissor rectangles.-    exclusiveScissors :: Vector Rect2D-  }+  { -- | @pExclusiveScissors@ is a pointer to an array of+    -- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures defining exclusive+    -- scissor rectangles.+    exclusiveScissors :: Vector Rect2D }   deriving (Typeable) #if defined(GENERIC_INSTANCES) deriving instance Generic (PipelineViewportExclusiveScissorStateCreateInfoNV)@@ -311,41 +296,31 @@   pokeCStruct p PipelineViewportExclusiveScissorStateCreateInfoNV{..} f = evalContT $ do     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV)     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    let pExclusiveScissorsLength = Data.Vector.length $ (exclusiveScissors)-    exclusiveScissorCount'' <- lift $ if (exclusiveScissorCount) == 0-      then pure $ fromIntegral pExclusiveScissorsLength-      else do-        unless (fromIntegral pExclusiveScissorsLength == (exclusiveScissorCount) || pExclusiveScissorsLength == 0) $-          throwIO $ IOError Nothing InvalidArgument "" "pExclusiveScissors must be empty or have 'exclusiveScissorCount' elements" Nothing Nothing-        pure (exclusiveScissorCount)-    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) (exclusiveScissorCount'')-    pExclusiveScissors'' <- if Data.Vector.null (exclusiveScissors)-      then pure nullPtr-      else do-        pPExclusiveScissors <- ContT $ allocaBytesAligned @Rect2D (((Data.Vector.length (exclusiveScissors))) * 16) 4-        Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPExclusiveScissors `plusPtr` (16 * (i)) :: Ptr Rect2D) (e) . ($ ())) ((exclusiveScissors))-        pure $ pPExclusiveScissors-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Rect2D))) pExclusiveScissors''+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (exclusiveScissors)) :: Word32))+    pPExclusiveScissors' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (exclusiveScissors)) * 16) 4+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPExclusiveScissors' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e) . ($ ())) (exclusiveScissors)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Rect2D))) (pPExclusiveScissors')     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    f+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    pPExclusiveScissors' <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (mempty)) * 16) 4+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPExclusiveScissors' `plusPtr` (16 * (i)) :: Ptr Rect2D) (e) . ($ ())) (mempty)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Rect2D))) (pPExclusiveScissors')+    lift $ f  instance FromCStruct PipelineViewportExclusiveScissorStateCreateInfoNV where   peekCStruct p = do     exclusiveScissorCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))     pExclusiveScissors <- peek @(Ptr Rect2D) ((p `plusPtr` 24 :: Ptr (Ptr Rect2D)))-    let pExclusiveScissorsLength = if pExclusiveScissors == nullPtr then 0 else (fromIntegral exclusiveScissorCount)-    pExclusiveScissors' <- generateM pExclusiveScissorsLength (\i -> peekCStruct @Rect2D ((pExclusiveScissors `advancePtrBytes` (16 * (i)) :: Ptr Rect2D)))+    pExclusiveScissors' <- generateM (fromIntegral exclusiveScissorCount) (\i -> peekCStruct @Rect2D ((pExclusiveScissors `advancePtrBytes` (16 * (i)) :: Ptr Rect2D)))     pure $ PipelineViewportExclusiveScissorStateCreateInfoNV-             exclusiveScissorCount pExclusiveScissors'+             pExclusiveScissors'  instance Zero PipelineViewportExclusiveScissorStateCreateInfoNV where   zero = PipelineViewportExclusiveScissorStateCreateInfoNV-           zero            mempty  
src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs view
@@ -18,9 +18,9 @@ import GHC.Generics (Generic) import Foreign.Ptr (Ptr) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -50,7 +50,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderImageFootprintFeaturesNV = PhysicalDeviceShaderImageFootprintFeaturesNV   { -- | @imageFootprint@ specifies whether the implementation supports the
src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs view
@@ -20,9 +20,9 @@ import Foreign.Ptr (Ptr) import Data.Word (Word32) import Data.Kind (Type)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)@@ -122,7 +122,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShaderSMBuiltinsFeaturesNV = PhysicalDeviceShaderSMBuiltinsFeaturesNV   { -- | @shaderSMBuiltins@ indicates whether the implementation supports the
src/Vulkan/Extensions/VK_NV_shading_rate_image.hs view
@@ -56,7 +56,6 @@ import Data.Vector (generateM) import qualified Data.Vector (imapM_) import qualified Data.Vector (length)-import qualified Data.Vector (null) import Control.Monad.IO.Class (MonadIO) import Data.String (IsString) import Data.Typeable (Typeable)@@ -77,17 +76,17 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (bool32ToBool)-import Vulkan.Core10.BaseType (boolToBool32)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32) import Vulkan.NamedType ((:::))-import Vulkan.Core10.BaseType (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32) import Vulkan.Core10.Handles (CommandBuffer) import Vulkan.Core10.Handles (CommandBuffer(..)) import Vulkan.Core10.Handles (CommandBuffer_T) import Vulkan.Dynamic (DeviceCmds(pVkCmdBindShadingRateImageNV)) import Vulkan.Dynamic (DeviceCmds(pVkCmdSetCoarseSampleOrderNV)) import Vulkan.Dynamic (DeviceCmds(pVkCmdSetViewportShadingRatePaletteNV))-import Vulkan.Core10.SharedTypes (Extent2D)+import Vulkan.Core10.FundamentalTypes (Extent2D) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.ImageLayout (ImageLayout)@@ -450,8 +449,8 @@ -- = Description -- -- If this structure is not present, @shadingRateImageEnable@ is considered--- to be 'Vulkan.Core10.BaseType.FALSE', and the shading rate image and--- palettes are not used.+-- to be 'Vulkan.Core10.FundamentalTypes.FALSE', and the shading rate image+-- and palettes are not used. -- -- == Valid Usage --@@ -462,35 +461,26 @@ -- -   @viewportCount@ /must/ be less than or equal to --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxViewports@ ----- -   If @shadingRateImageEnable@ is 'Vulkan.Core10.BaseType.TRUE',---     @viewportCount@ /must/ be equal to the @viewportCount@ member of+-- -   If @shadingRateImageEnable@ is+--     'Vulkan.Core10.FundamentalTypes.TRUE', @viewportCount@ /must/ be+--     equal to the @viewportCount@ member of --     'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo' ----- -   If no element of the @pDynamicStates@ member of @pDynamicState@ is---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV',---     @pShadingRatePalettes@ /must/ be a valid pointer to an array of---     @viewportCount@ 'ShadingRatePaletteNV' structures--- -- == Valid Usage (Implicit) -- -- -   @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV' ----- -   If @viewportCount@ is not @0@, and @pShadingRatePalettes@ is not---     @NULL@, @pShadingRatePalettes@ /must/ be a valid pointer to an array---     of @viewportCount@ valid 'ShadingRatePaletteNV' structures+-- -   @viewportCount@ /must/ be greater than @0@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32', 'ShadingRatePaletteNV',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'ShadingRatePaletteNV', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PipelineViewportShadingRateImageStateCreateInfoNV = PipelineViewportShadingRateImageStateCreateInfoNV   { -- | @shadingRateImageEnable@ specifies whether shading rate image and     -- palettes are used during rasterization.     shadingRateImageEnable :: Bool-  , -- | @viewportCount@ specifies the number of per-viewport palettes used to-    -- translate values stored in shading rate images.-    viewportCount :: Word32   , -- | @pShadingRatePalettes@ is a pointer to an array of     -- 'ShadingRatePaletteNV' structures defining the palette for each     -- viewport. If the shading rate palette state is dynamic, this member is@@ -509,44 +499,34 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV)     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)     lift $ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shadingRateImageEnable))-    let pShadingRatePalettesLength = Data.Vector.length $ (shadingRatePalettes)-    viewportCount'' <- lift $ if (viewportCount) == 0-      then pure $ fromIntegral pShadingRatePalettesLength-      else do-        unless (fromIntegral pShadingRatePalettesLength == (viewportCount) || pShadingRatePalettesLength == 0) $-          throwIO $ IOError Nothing InvalidArgument "" "pShadingRatePalettes must be empty or have 'viewportCount' elements" Nothing Nothing-        pure (viewportCount)-    lift $ poke ((p `plusPtr` 20 :: Ptr Word32)) (viewportCount'')-    pShadingRatePalettes'' <- if Data.Vector.null (shadingRatePalettes)-      then pure nullPtr-      else do-        pPShadingRatePalettes <- ContT $ allocaBytesAligned @ShadingRatePaletteNV (((Data.Vector.length (shadingRatePalettes))) * 16) 8-        Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPShadingRatePalettes `plusPtr` (16 * (i)) :: Ptr ShadingRatePaletteNV) (e) . ($ ())) ((shadingRatePalettes))-        pure $ pPShadingRatePalettes-    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ShadingRatePaletteNV))) pShadingRatePalettes''+    lift $ poke ((p `plusPtr` 20 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (shadingRatePalettes)) :: Word32))+    pPShadingRatePalettes' <- ContT $ allocaBytesAligned @ShadingRatePaletteNV ((Data.Vector.length (shadingRatePalettes)) * 16) 8+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPShadingRatePalettes' `plusPtr` (16 * (i)) :: Ptr ShadingRatePaletteNV) (e) . ($ ())) (shadingRatePalettes)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ShadingRatePaletteNV))) (pPShadingRatePalettes')     lift $ f   cStructSize = 32   cStructAlignment = 8-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))-    f+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    lift $ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    pPShadingRatePalettes' <- ContT $ allocaBytesAligned @ShadingRatePaletteNV ((Data.Vector.length (mempty)) * 16) 8+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPShadingRatePalettes' `plusPtr` (16 * (i)) :: Ptr ShadingRatePaletteNV) (e) . ($ ())) (mempty)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ShadingRatePaletteNV))) (pPShadingRatePalettes')+    lift $ f  instance FromCStruct PipelineViewportShadingRateImageStateCreateInfoNV where   peekCStruct p = do     shadingRateImageEnable <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))     viewportCount <- peek @Word32 ((p `plusPtr` 20 :: Ptr Word32))     pShadingRatePalettes <- peek @(Ptr ShadingRatePaletteNV) ((p `plusPtr` 24 :: Ptr (Ptr ShadingRatePaletteNV)))-    let pShadingRatePalettesLength = if pShadingRatePalettes == nullPtr then 0 else (fromIntegral viewportCount)-    pShadingRatePalettes' <- generateM pShadingRatePalettesLength (\i -> peekCStruct @ShadingRatePaletteNV ((pShadingRatePalettes `advancePtrBytes` (16 * (i)) :: Ptr ShadingRatePaletteNV)))+    pShadingRatePalettes' <- generateM (fromIntegral viewportCount) (\i -> peekCStruct @ShadingRatePaletteNV ((pShadingRatePalettes `advancePtrBytes` (16 * (i)) :: Ptr ShadingRatePaletteNV)))     pure $ PipelineViewportShadingRateImageStateCreateInfoNV-             (bool32ToBool shadingRateImageEnable) viewportCount pShadingRatePalettes'+             (bool32ToBool shadingRateImageEnable) pShadingRatePalettes'  instance Zero PipelineViewportShadingRateImageStateCreateInfoNV where   zero = PipelineViewportShadingRateImageStateCreateInfoNV            zero-           zero            mempty  @@ -576,7 +556,7 @@ -- -- = See Also ----- 'Vulkan.Core10.BaseType.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShadingRateImageFeaturesNV = PhysicalDeviceShadingRateImageFeaturesNV   { -- | @shadingRateImage@ indicates that the implementation supports the use of@@ -653,7 +633,7 @@ -- -- = See Also ----- 'Vulkan.Core10.SharedTypes.Extent2D',+-- 'Vulkan.Core10.FundamentalTypes.Extent2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceShadingRateImagePropertiesNV = PhysicalDeviceShadingRateImagePropertiesNV   { -- | @shadingRateTexelSize@ indicates the width and height of the portion of
src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs view
@@ -53,7 +53,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Data.Vector (Vector) import Vulkan.CStruct.Utils (advancePtrBytes)-import Vulkan.Core10.BaseType (Flags)+import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..)) import Vulkan.Core10.Enums.StructureType (StructureType)
src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs view
@@ -26,7 +26,7 @@ import Control.Monad.Trans.Cont (ContT(..)) import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (FromCStruct(..))-import Vulkan.Core10.CommandBufferBuilding (Rect2D)+import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Enums.StructureType (StructureType) import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagBitsKHR) import Vulkan.CStruct (ToCStruct)@@ -121,7 +121,7 @@ -- -- = See Also ----- 'Vulkan.Core10.CommandBufferBuilding.Rect2D',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR' data CommandBufferInheritanceRenderPassTransformInfoQCOM = CommandBufferInheritanceRenderPassTransformInfoQCOM
− src/Vulkan/Extensions/WSITypes.hs
@@ -1,95 +0,0 @@-{-# language CPP #-}-module Vulkan.Extensions.WSITypes  ( HINSTANCE-                                   , HWND-                                   , HMONITOR-                                   , HANDLE-                                   , DWORD-                                   , LPCWSTR-                                   , Display-                                   , VisualID-                                   , Window-                                   , RROutput-                                   , Xcb_visualid_t-                                   , Xcb_window_t-                                   , Zx_handle_t-                                   , GgpStreamDescriptor-                                   , GgpFrameToken-                                   , SECURITY_ATTRIBUTES-                                   , Xcb_connection_t-                                   , Wl_display-                                   , Wl_surface-                                   , CAMetalLayer-                                   , AHardwareBuffer-                                   , ANativeWindow-                                   ) where--import Foreign.C.Types (CWchar)-import Foreign.Ptr (Ptr)-import Data.Word (Word32)-import Data.Word (Word64)--type HINSTANCE = Ptr ()---type HWND = Ptr ()---type HMONITOR = Ptr ()---type HANDLE = Ptr ()---type DWORD = Word32---type LPCWSTR = Ptr CWchar---type Display = Ptr ()---type VisualID = Word64---type Window = Word64---type RROutput = Word64---type Xcb_visualid_t = Word32---type Xcb_window_t = Word32---type Zx_handle_t = Word32---type GgpStreamDescriptor = Word32---type GgpFrameToken = Word32---data SECURITY_ATTRIBUTES---data Xcb_connection_t---data Wl_display---data Wl_surface---data CAMetalLayer---data AHardwareBuffer---data ANativeWindow-
− src/Vulkan/Extensions/WSITypes.hs-boot
@@ -1,38 +0,0 @@-{-# language CPP #-}-module Vulkan.Extensions.WSITypes  ( AHardwareBuffer-                                   , Display-                                   , HANDLE-                                   , RROutput-                                   , VisualID-                                   , Wl_display-                                   , Xcb_connection_t-                                   , Xcb_visualid_t-                                   ) where--import Foreign.Ptr (Ptr)-import Data.Word (Word32)-import Data.Word (Word64)--data AHardwareBuffer---type Display = Ptr ()---type HANDLE = Ptr ()---type RROutput = Word64---type VisualID = Word64---data Wl_display---data Xcb_connection_t---type Xcb_visualid_t = Word32-
src/Vulkan/Version.hs view
@@ -14,11 +14,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 141+pattern HEADER_VERSION = 142   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 141+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 142   pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 48ce38532a89b6c6cdf6569e0ba1f5f1bf9b948fddc0511cef156c874a05cd2f+-- hash: 3c77f5fce0e982c3b81e2fe5ff6a0d28fbee1c6c2a168885b723ceda541b2b9a  name:           vulkan-version:        3.3.1+version:        3.4 synopsis:       Bindings to the Vulkan graphics API. category:       Graphics homepage:       https://github.com/expipiplus1/vulkan#readme@@ -40,7 +40,6 @@       Vulkan.Core10       Vulkan.Core10.AllocationCallbacks       Vulkan.Core10.APIConstants-      Vulkan.Core10.BaseType       Vulkan.Core10.Buffer       Vulkan.Core10.BufferView       Vulkan.Core10.CommandBuffer@@ -149,6 +148,7 @@       Vulkan.Core10.ExtensionDiscovery       Vulkan.Core10.Fence       Vulkan.Core10.FuncPointers+      Vulkan.Core10.FundamentalTypes       Vulkan.Core10.Handles       Vulkan.Core10.Image       Vulkan.Core10.ImageView@@ -165,7 +165,6 @@       Vulkan.Core10.QueueSemaphore       Vulkan.Core10.Sampler       Vulkan.Core10.Shader-      Vulkan.Core10.SharedTypes       Vulkan.Core10.SparseResourceMemoryManagement       Vulkan.Core11       Vulkan.Core11.DeviceInitialization@@ -456,7 +455,6 @@       Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve       Vulkan.Extensions.VK_QCOM_render_pass_store_ops       Vulkan.Extensions.VK_QCOM_render_pass_transform-      Vulkan.Extensions.WSITypes       Vulkan.NamedType       Vulkan.Version       Vulkan.Zero